ใครสามารถชี้ให้ฉันไปในทิศทางที่ถูกต้องได้ไหม? ฉันไม่มีประสบการณ์ในการเขียนรหัส แต่ฉันเป็นผู้เรียนเร็ว ฉันไม่ได้พยายามจะบอกว่ามันจะง่าย แต่ฉันหวังว่าจะมีคนช่วยฉัน ...
ใครสามารถชี้ให้ฉันไปในทิศทางที่ถูกต้องได้ไหม? ฉันไม่มีประสบการณ์ในการเขียนรหัส แต่ฉันเป็นผู้เรียนเร็ว ฉันไม่ได้พยายามจะบอกว่ามันจะง่าย แต่ฉันหวังว่าจะมีคนช่วยฉัน ...
คำตอบ:
ฉันเขียนสิ่งนี้สำหรับบล็อกที่ฉันเคยมีทางกลับมาเมื่อ .... มันไม่ได้อยู่บนเว็บอีกต่อไปดังนั้น .. ที่นี่เป็น! :
วิธีเขียนเครื่องมือค้นหา
Darren Rowse ไปที่ probolgger.net กำลังจัดโครงการเขียนกลุ่มในทุกสิ่งที่ "วิธีการ" นี่เป็นหนึ่งในไม่กี่บล็อกที่ฉันอ่านเป็นประจำดังนั้นฉันจึงคิดว่าทำไมไม่เขียนสิ่งที่ควรค่าแก่การเปลี่ยนแปลงแทนที่จะพูดจารุนแรงมาตรฐานที่ฉันจะจบลงด้วยการขู่ว่าจะแทง Hugo Chaves ในลำคอ
ฉันตัดสินใจเขียน "วิธีเขียนเครื่องมือค้นหา" ฉันเลือกหัวข้อนี้ด้วยเหตุผลสองประการ:
ลูกค้าของฉันเป็นผู้ค้าปลีกออนไลน์ที่มีขนาดใหญ่ดังนั้นฉันไม่ได้ค้นหาทั้งเว็บเพียงแค่เว็บไซต์ของพวกเขาโดยเฉพาะอย่างยิ่งเฉพาะผลิตภัณฑ์สำหรับขายในเว็บไซต์ของพวกเขา ไม่มีเทคนิคใดที่สามารถใช้ในการเขียนที่ซับซ้อนน้อยกว่าที่ใช้ในการค้นหาอินเทอร์เน็ต ฉันรู้ว่านี่ไม่ใช่บล็อกเทคโนโลยีดังนั้นฉันจะไม่เข้าไปลึกในด้านเทคนิคมากเกินไปและฉันจะไม่พูดคุยเกี่ยวกับข้อกำหนดด้านพลังงานของฮาร์ดแวร์ \ หรือการรวบรวมข้อมูลเว็บ
ฉันใช้เทคนิคที่ค่อนข้างง่ายฉันมีตาราง (tblKeywords) ที่มีสามฟิลด์:
สิ่งแรกที่ฉันทำคือรวบรวมคำแต่ละคำจากที่ใดก็ตามที่เกี่ยวข้อง สำหรับลูกค้าของฉันฉันจะดึงคำตารางผลิตภัณฑ์ โดยเฉพาะจากเขตข้อมูล Itemid, ItemName, ItemShortDescription, ItemLongDescription, ผู้ผลิต, ManufacturerSKU, หมวดหมู่ 1, หมวด 2, หมวดหมู่ 3, ect หากคุณกำลังจัดทำดัชนีหน้าเว็บคุณสามารถดึงข้อมูลจากข้อความหน้าชื่อหน้า URL หรือลิงค์ในหน้าอื่น ๆ ที่ลิงค์กลับไปยังหน้าที่ถูกจัดทำดัชนี
ค่าน้ำหนักจะพิจารณาจากแหล่งที่มาของคำหลัก ตัวอย่างเช่นในกรณีของฉัน SKU ของการผลิตของรายการจะได้รับน้ำหนัก 100 ในขณะที่คำจากชื่อรายการอาจได้รับน้ำหนัก 25 คำจาก ItemLongDescription อาจได้รับน้ำหนัก 5 หากคุณกำลังจัดทำดัชนีหน้าเว็บคำ จากชื่อหน้าอาจได้รับน้ำหนัก 75 ในขณะที่คำที่เป็นตัวหนาจากข้อความของหน้าอาจได้รับน้ำหนัก 10 หากคำซ้ำในมากกว่าหนึ่งครั้งหรือ \ และในมากกว่าหนึ่งสถานที่ที่คุณจะเพิ่มน้ำหนักในแต่ละครั้ง มันเกิดขึ้น. ตัวอย่างเช่นถ้าคำว่า "เสื้อเชิ้ต" มาจากสถานที่สองแห่งสำหรับ ItemId = 12345, ItemName (น้ำหนัก 25) และปรากฏสองครั้งใน ItemLongDescription (น้ำหนัก 5 x2 = 10) คำว่า "เสื้อ" จะมีน้ำหนักรวม 35 สำหรับ ItemId = 12345
หากใครบางคนทำการค้นหา "เสื้อสีชมพู" ฉันค้นหาตารางของฉันสำหรับคำทั้งหมด "สีชมพู" หรือ "เสื้อเชิ้ต" และน้ำหนักรวม แสดงรายการที่มีน้ำหนักรวมสูงสุดอยู่ด้านบน
SQL:
Select Itemid, sum(weight) as totWeight from tblKeywords
group by itemId having keyword in ('pink','shirt')
ดังนั้นที่นี่คุณมีเครื่องมือค้นหา (และรวดเร็ว) ขั้นพื้นฐาน แน่นอนว่ายังมีสิ่งที่ต้องทำอีกมากมายเช่นตัดเครื่องหมายวรรคตอนออกโค้ด HTML และคำหลักไร้ค่าเช่น "และ", "ถ้า", "หรือ" นี่ไม่ใช่การค้นหาที่อยู่สำหรับวลีที่สำคัญ แต่คุณสามารถใช้ระบบที่คล้ายกันสำหรับวลีถ้าคุณสามารถค้นหาได้ว่าพวกเขาเริ่มต้นและสิ้นสุดที่ใด
ร่างการแนะนำการค้นคืนข้อมูลแบบกระจายอย่างอิสระนั้นจะเป็นข้อมูลอ้างอิงที่สำคัญของคุณ มันจัดการการค้นหา (การดึงข้อมูล) จากระดับพื้นฐานไปจนถึงระดับสูง
เสิร์ชเอ็นจิ้นสร้างขึ้นจากโปรแกรมรวบรวมข้อมูลเว็บคุณจะต้องคิดหาวิธีสร้างหนึ่งในหน่อเหล่านี้ก่อนที่คุณจะสามารถพัฒนาเว็บไซต์เพื่อแสดงผลลัพธ์ (คุณต้องมีฐานข้อมูลที่รวดเร็วและมีประสิทธิภาพเพื่อไปกับมัน)
หลักสูตรนี้เป็นหลักสูตรเบื้องต้นสำหรับ CS ที่กำลังจะเริ่มในวันที่ 20 นี้ฉันขอแนะนำให้คุณลองดูสิมันมีให้บริการฟรี