আমি যদি কোনও অনুসন্ধান ইঞ্জিন তৈরি করতে চাই, তবে আমি কীভাবে শুরু করব? [বন্ধ]


9

কেউ আমাকে সঠিক দিকে নির্দেশ করতে পারে? আমার কাছে সত্যিই লেখার কোডের অভিজ্ঞতা নেই তবে আমি দ্রুত শিখি। আমি বলার চেষ্টা করছি না এটি সহজ হবে তবে আমি আশা করি কেউ আমাকে সাহায্য করতে পারে ...


6
আপনার যদি কোড লেখার অভিজ্ঞতা না থাকে তবে প্রথমে কোড কীভাবে শিখবেন? সার্চ ইঞ্জিন তৈরি করা প্রোগ্রামিংয়ে নতুন কোনও ব্যক্তির জন্য ওভারকিল জাতীয়।
তেরেন্স পোনস

3
টেরেন্স যেমন বলেছেন, প্রোগ্রামিংয়ে নতুনদের জন্য এটি কিছু নয়। যে কোনও সার্চ ইঞ্জিন যে কোনও উপকারীই মোটামুটি জটিল কাজের অংশ হতে পারে, গুগল এত বড় যে কারণ রয়েছে, তারা খুব শক্ত কাজটি বেশ ভালভাবেই করে do এমনকি পাকা প্রোগ্রামাররা প্রাক-নির্মিত কিছু ব্যবহার পছন্দ করে prefer আপনি কী চান তা সম্পর্কে যদি কিছু ধারণা দেন তবে সম্ভবত আমরা আপনাকে সঠিক দিকে নির্দেশ করতে পারি।
8:44 এ Orbling

2
একটি ছোট প্রকল্প দিয়ে শুরু করুন। সার্চ ইঞ্জিন তৈরিতে প্রচুর পরিমাণে কোড জড়িত। এবং কীভাবে আপনি আপনার অনুসন্ধান ইঞ্জিনের জন্য সমস্ত ডেটা সংগ্রহ করবেন? আপনার আরও অনেক কোড এবং একটি বৃহত অবকাঠামো প্রয়োজন। সত্যিই, দয়া করে ছোট প্রকল্পগুলি শুরু করুন এবং কাজ করুন বা আপনি হতাশ হবেন।
জেমস

1
এই বই আমাকে কি সার্চ ইঞ্জিনে হয় বুঝতে সাহায্য করেছে এবং কিভাবে তারা আগে থেকেই রয়েছে: nlp.stanford.edu/IR-book
devnull

উত্তর:


16

আমি এটি একটি ব্লগের জন্য লিখেছিলাম যখন আমার ফিরে আসার উপায় ছিল .... যখন এটি ওয়েবে আর বেশি থাকে না .. এটি এখানে! :

কীভাবে সার্চ ইঞ্জিন লিখবেন

প্রোবলগার.টনে ড্যারেন রোউস "কীভাবে" কোনও বিষয়ে একটি গ্রুপ রাইটিং প্রকল্প ধারণ করছেন। এটি নিয়মিত আমি যে কয়েকটি ব্লগ পড়েছি তার মধ্যে এটি একটি যাতে আমি বুঝতে পারি যে পরিবর্তনের জন্য পড়ার উপযুক্ত কিছু কেন লিখছেন না, বরং আমার মানক হিংস্র প্রবণতা যেখানে আমি গলায় হুগো চাভেসকে ছুরিকাঘাতের হুমকি দিয়ে শেষ করব।

আমি "কীভাবে সার্চ ইঞ্জিন লিখব" লেখার সিদ্ধান্ত নিয়েছি। আমি এই বিষয়টি দুটি কারণে বেছে নিয়েছি:

  1. ওয়েবে এ সম্পর্কে খুব ভাল তথ্য নেই।
  2. আমি বর্তমানে আমার এক ক্লায়েন্টের জন্য একটি লিখছি।

আমার ক্লায়েন্টটি উল্লেখযোগ্য আকারের একটি অনলাইন খুচরা বিক্রেতা, সুতরাং আমি পুরো ওয়েবটি কেবল তাদের সাইটগুলিতে অনুসন্ধান করব না, বিশেষত তাদের সাইটে বিক্রয়ের জন্য কেবলমাত্র পণ্যগুলি। ইন্টারনেটে অনুসন্ধানের জন্য ব্যবহৃত জটিল জটিল লেখার জন্য কম একই কৌশল ব্যবহার করা যাবে না। আমি জানি এটি কোনও প্রযুক্তি ব্লগ নয় তাই আমি প্রযুক্তিগত দিকগুলিতে খুব গভীরভাবে যাব না, বা আমি হার্ডওয়্যার \ প্রসেসিং পাওয়ারের প্রয়োজনীয়তা বা ওয়েব ক্রলিংয়ের বিষয়ে আলোচনা করব না।

আমি মোটামুটি সহজ কৌশলটি ব্যবহার করছি, আমার তিনটি ক্ষেত্র সহ টেবিল (tblKeywords) রয়েছে:

  1. আইটেমিড (আপনি যদি কোনও ওয়েব অনুসন্ধান করছেন তবে এটি URL হবে)
  2. কীওয়ার্ড (ইনডেক্সড কীওয়ার্ড)
  3. ওজন (এই সংখ্যাটি 1-100 থেকে উচ্চতর এই সংখ্যাটি আরও বেশি গুরুত্বপূর্ণ (ওজন) কীওয়ার্ড বহন করে) * পিকে = আইটেমিডি + কীওয়ার্ড

আমি প্রথমে যা করি তা হ'ল প্রাসঙ্গিক যে কোনও জায়গা থেকে পৃথক শব্দ সংগ্রহ করা। আমার ক্লায়েন্টের জন্য আমি পণ্যের টেবিলের শব্দগুলি টানবো। বিশেষত ক্ষেত্রগুলি থেকে আইটেমিড, আইটেমনাম, আইটেমশার্টডেসক্রিপশন, আইটেমলং বিবরণ, উত্পাদনকারী, নির্মাতারা এসকিউ, বিভাগ 1, বিভাগ 2, বিভাগ 3 ect। আপনি যদি ওয়েবপৃষ্ঠাগুলি সূচী করে থাকেন তবে আপনি পৃষ্ঠার পাঠ্য, পৃষ্ঠার শিরোনাম, ইউআরএল বা অন্য পৃষ্ঠাগুলির লিঙ্কগুলি যা পৃষ্ঠায় ফিরে লিঙ্ক করে ইনডেক্স করা হচ্ছে data

মূলশব্দটি কোথা থেকে এসেছে তা দিয়ে ওজনের মান নির্ধারণ করা হয়। উদাহরণস্বরূপ আমার ক্ষেত্রে আইটেমটির উত্পাদনকারীর এসকিউ 100 টি ওজন পেতে পারে, তবে আইটেমের নাম থেকে একটি শব্দ 25 টি ওজন পেতে পারে the পৃষ্ঠার শিরোনাম থেকে 75 টি ওজন পেতে পারে যখন পৃষ্ঠার পাঠ্য থেকে গা bold় শব্দের সাথে 10 টি ওজন পেতে পারে If এটি ঘটে. উদাহরণস্বরূপ যদি "শার্ট" শব্দটি আইটেমআইডি = 12345 এর জন্য দুটি জায়গা থেকে আসে তবে আইটেমনেম (25 টি ওজন) এবং আইটেমলং বিবরণীতে দু'বার প্রদর্শিত হয় (5 x2 = 10 এর ওজন) "শার্ট" শব্দটির আইটেমআইডির জন্য মোট ওজন 35 হবে = 12345।

যদি কেউ "গোলাপী শার্ট" অনুসন্ধান করে তবে আমি "গোলাপী" বা "শার্ট" এবং মোট ওজনগুলির শব্দের সমস্ত উদাহরণের জন্য আমার টেবিলটি অনুসন্ধান করি। শীর্ষে সর্বোচ্চ মোট ওজন সহ আইটেমগুলি দেখানো হচ্ছে।

এসকিউএল:

Select Itemid, sum(weight) as totWeight from tblKeywords
group by itemId having keyword in ('pink','shirt')

সুতরাং এখানে আপনার কাছে এটি একটি প্রাথমিক (এবং দ্রুত) অনুসন্ধান ইঞ্জিন রয়েছে। অবশ্যই আরও কিছু করার আছে যেমন স্ট্রিপ আউট বিরামচিহ্ন, এইচটিএমএল কোড এবং মূল্যহীন কীওয়ার্ড যেমন "এবং", "যদি", "বা"। এটি মূল বাক্যাংশগুলির সন্ধানের উদ্দেশ্যে সম্বোধন করে না, তবে আপনি বাক্যাংশগুলির জন্য একটি অনুরূপ সিস্টেম ব্যবহার করতে পারেন যদি আপনি বুঝতে পারেন যে সেগুলি কোথায় শুরু হয় এবং শেষ হয়।


ধন্যবাদ সুন্দর উত্তর। গ্রুপিং পণ্যগুলির জন্য আপনি কী প্রস্তাব করবেন। মানে আপনি বিভিন্ন ওয়েবসাইট থেকে 1 মিলিয়ন ক্রলড পণ্য পৃষ্ঠা পছন্দ করেছেন। আপনি একই ওয়েবসাইটগুলিকে বিভিন্ন ওয়েবসাইটগুলিতে গ্রুপ করতে চান: প্রোগ্রামারস.স্ট্যাকেক্সেঞ্জ
বিকিউশনস

@ মনস্টার - আইটেমটির প্রস্তুতকারক \ এসকিউ সমন্বয় সম্পর্কে কীভাবে?
মরনস

এছাড়াও আপনি (খাজনা) এই তথ্য কোম্পানি থেকে মত কিনতে পারেন Etilize
morons

আপনি এটি কিছুটা ব্যাখ্যা করতে পারেন কারণ আমি এটি পাই নি। ধন্যবাদ.
মনস্টার এমএমআরপিজি

3
একটি "ঠিক আছে" ব্যবহারিক উত্তর। তবে এটি অধ্যয়নের পুরো ক্ষেত্রটিকে "তথ্য পুনরুদ্ধার" উপেক্ষা করে। "সঠিক দিকের দিকে ইঙ্গিত করা" এর ক্ষেত্রে আইআরটি আমার মনে আরও ভাল হত।
অন্ধকাররাত্রি


3

সার্চ ইঞ্জিনগুলি ওয়েব ক্রলারগুলির উপর নির্মিত , আপনার ফলাফলগুলি প্রকাশের জন্য কোনও ওয়েবসাইট বিকাশ করার আগে আপনাকে এই ধরণের একটি কীভাবে তৈরি করবেন তা নির্ধারণ করতে হবে (এটির সাথে যেতে আপনার একটি দ্রুত, দক্ষ ডাটাবেস প্রয়োজন)।


3
কোনও অনুসন্ধান ইঞ্জিন কোনও ওয়েব ক্রলারের আউটপুট গ্রাস করতে পারে তবে অন্যথায় তাদের একে অপরের সাথে খুব কম সম্পর্ক রয়েছে। তদুপরি, এসকিউএল জাতের একটি দ্রুত, দক্ষ ডাটাবেস এই প্রচেষ্টাটিতে খুব বেশি সাহায্য করার সম্ভাবনা নেই। অনুসন্ধান ইঞ্জিনগুলি সাধারণত ইনভার্টেড ফাইল ইনডেক্সিং স্কিমগুলি ব্যবহার করে তৈরি করা হয় যা এসকিউএল ছাঁচে মোটেই ফিট করে না।
মার্সেলো ক্যান্টোস

@ মার্সেলো ক্যান্টোস: ইনভার্টেড ফাইল ইনডেক্সিং জটিল মনে হচ্ছে: -0 - আমার উত্তরটি পরিষ্কার করতে সাহায্য করার জন্য ধন্যবাদ!
পালবাকুলিচ

2

একটি অনুসন্ধান ইঞ্জিন তৈরি করা

এটি সিএসের একটি পরিচিতি কোর্স যা 20 তম থেকে শুরু হতে চলেছে, আমি আপনাকে এটি পরীক্ষা করে দেখার পরামর্শ দিচ্ছি, এটি নিখরচায় অফার করা হচ্ছে।


1
সেবাস্তিয়ান থ্রুন গুগলের সাথেও নিবিড়ভাবে জড়িত।
জেমস ইয়ংম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.