সম্পূর্ণ পাঠ্য অনুসন্ধান ইঞ্জিনের তুলনা - লুসিন, স্পিনিক্স, পোস্টগ্র্যাস্কিল, মাইএসকিউএল?


312

আমি একটি জ্যাঙ্গো সাইট তৈরি করছি এবং আমি একটি অনুসন্ধান ইঞ্জিন সন্ধান করছি।

কয়েকটি প্রার্থী:

  • লম্পেন / লুসিন কম্পাস / সোলার সহ

  • স্পিংক্স

  • পোস্টগ্র্যাস্কেল সম্পূর্ণ পাঠ্য অনুসন্ধানে অন্তর্নির্মিত

  • মাইএসকিউএল অন্তর্নির্মিত সম্পূর্ণ পাঠ্য অনুসন্ধানে

নির্বাচন মানদণ্ড:

  • ফলাফল প্রাসঙ্গিকতা এবং র‌্যাঙ্কিং
  • অনুসন্ধান এবং সূচকের গতি
  • জাজানোয়ের সাথে ব্যবহারের সহজতা এবং একীকরণের সহজতা
  • সংস্থান প্রয়োজনীয়তা - সাইটটি একটি ভিপিএসে হোস্ট করা হবে , তাই আদর্শভাবে অনুসন্ধান ইঞ্জিনটির জন্য প্রচুর র‌্যাম এবং সিপিইউ প্রয়োজন হয় না would
  • কর্মক্ষমতা প্রসারণ
  • সম্পর্কিত অনুসন্ধানগুলি ইত্যাদির মতো অতিরিক্ত বৈশিষ্ট্য যেমন "আপনি বোঝাতে চেয়েছিলেন?"

উপরের সার্চ ইঞ্জিনগুলির সাথে অভিজ্ঞতা রয়েছে এমন যে কেউ, বা তালিকায় নেই এমন অন্য ইঞ্জিনগুলি - আমি আপনার মতামত শুনতে আগ্রহী।

সম্পাদনা: ইনডেক্সিং প্রয়োজন হিসাবে, ব্যবহারকারীরা সাইটে ডেটা প্রবেশ করাতে থাকে, সেই তথ্যগুলি অবিচ্ছিন্নভাবে সূচীকরণ করা প্রয়োজন। এটি আসল সময় হতে হবে না, তবে আদর্শভাবে নতুন ডেটা 15 - 30 মিনিটের বেশি বিলম্ব না করে সূচীতে প্রদর্শিত হবে


26
2 ¢: মাইএসকিউএল পূর্ণ পাঠ্য অনুসন্ধান এবং লেনদেন (বর্তমানে) পারস্পরিক একচেটিয়া। মাইএসকিউএল পূর্ণ পাঠ্য সূচকে মাইআইএসএএম টেবিল প্রকারের প্রয়োজন হয়, যা লেনদেন সমর্থন করে না। (InnoDB টেবিল প্রকারের বিপরীতে যা লেনদেনকে সমর্থন করে, তবে ফুলটেক্সট সূচীগুলি নয়))
কার্ল জি

2
পোস্টগ্রাইএসকিউএল পূর্ণ-পাঠ্য অনুসন্ধান, শব্দ বাক্স অনুসন্ধান সমর্থন Tsearch করে না । যাইহোক, এটি TODO তালিকায় রয়েছে sai.msu.su/~megera/wiki/FTS_Todo
জ্ঞানাম

1
জ্যাঙ্গোর জন্য এটির জন্য যে কেউ খুঁজছেন তার খড়ের অ্যাপটি চেকআউট করা উচিত। haystacksearch.org
Keyo


24
@ কার্লজি, কেবল সবার রেফারেন্সের জন্য। মাইএসকিউএল 5.6+ এর ইনডোডাব ইঞ্জিন সহ সম্পূর্ণ পাঠ্য অনুসন্ধানের সমর্থন রয়েছে
ধ্রুবপাঠক

উত্তর:


167

লুসিনকে নিয়ে কারও বাজিমাত করা ভাল - কারণ এ সম্পর্কে আমার কোনও ধারণা নেই।

অন্যদিকে স্ফিংস, আমি বেশ ভাল জানি, তাই আসুন দেখি আমি কিছুটা সাহায্য করতে পারি কিনা।

  • ফলাফলের প্রাসঙ্গিকতা র‌্যাঙ্কিং ডিফল্ট। আপনার ইচ্ছা অনুযায়ী আপনি নিজের বাছাই সেট আপ করতে পারেন এবং নির্দিষ্ট ক্ষেত্রগুলিকে উচ্চতর ওজন দিতে পারেন।
  • সূচকের গতি অতি দ্রুত, কারণ এটি সরাসরি ডাটাবেসে কথা বলে। কোনও জটিলতা এসকিউএল কোয়েরি এবং আন-ইনডেক্সড বিদেশী কী এবং এই জাতীয় অন্যান্য সমস্যা থেকে আসবে। আমি কখনও অনুসন্ধানে কোন গতি লক্ষ্য করেছি না।
  • আমি একজন রেলস ছেলে, তাই জ্যাঙ্গোর সাথে বাস্তবায়ন করা কতটা সহজ তা আমি বুঝতে পারি না। একটি পাইথন এপিআই রয়েছে যা স্পিংক্স উত্সের সাথে আসে।
  • অনুসন্ধান পরিষেবা ডেমন (অনুসন্ধান করা) মেমরির ব্যবহারের তুলনায় বেশ কম - এবং আপনি সূচক প্রক্রিয়াটি কতটা মেমরি ব্যবহার করেন তার সীমা নির্ধারণ করতে পারেন ।
  • স্কেলিবিলিটি হ'ল যেখানে আমার জ্ঞানটি আরও স্কেচিযুক্ত - তবে একাধিক মেশিনে সূচি ফাইলগুলি অনুলিপি করা এবং বেশ কয়েকটি অনুসন্ধান ডিমন চালানো যথেষ্ট সহজ। অন্যের কাছ থেকে আমি যে সাধারণ ধারণাটি পাই তা হ'ল এটি উচ্চ লোডের নিচে বেশ খারাপ, সুতরাং একাধিক মেশিনে এটি স্কেলিং এমন কিছু নয় যা মোকাবেলা করা দরকার।
  • 'ডু-ইউ-মিন' ইত্যাদির জন্য কোনও সমর্থন নেই - যদিও এগুলি সহজে অন্যান্য সরঞ্জাম দিয়ে করা যায়। স্পিঙ্কস অভিধান ব্যবহার করে স্টেম শব্দগুলি ব্যবহার করে, সুতরাং 'ড্রাইভিং' এবং 'ড্রাইভ' (উদাহরণস্বরূপ) অনুসন্ধানগুলিতে একই বিবেচনা করা হবে।
  • স্পিঙ্কস যদিও ফিল্ড ডেটার জন্য আংশিক সূচক আপডেটের অনুমতি দেয় না। এর সাধারণ পন্থাটি হ'ল সাম্প্রতিক সমস্ত পরিবর্তনের সাথে একটি ব-দ্বীপ সূচক বজায় রাখা এবং প্রতিটি পরিবর্তনের পরে এটি পুনরায় সূচীকরণ করা (এবং সেই নতুন ফলাফলগুলি এক বা দ্বিতীয় মধ্যে প্রদর্শিত হবে)। অল্প পরিমাণে ডেটার কারণে এটি কয়েক সেকেন্ড সময় নিতে পারে। আপনাকে এখনও মূল ডেটাसेटটি নিয়মিত পুনরায় সূচীকরণ করতে হবে যদিও (যদিও নিয়মিত আপনার ডেটারের অস্থিরতার উপর নির্ভর করে - প্রতিদিন? প্রতি ঘন্টা?) দ্রুত সূচকের গতি এগুলি যদিও বেশ বেদনাবিহীন রাখে।

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

আমি মাইএসকিউএল-এর সম্পূর্ণ পাঠ্য অনুসন্ধানের গভীরতা নিমজ্জিত করি নি, তবে আমি জানি এটি স্পিনেক্স, লুসিন বা সোলারের সাথে গতি-ভিত্তিক বা বৈশিষ্ট্য অনুসারে প্রতিযোগিতা করে না।


স্পিনিক্স আপনাকে বর্তমান সূচিগুলিতে আইটেমগুলির স্বতন্ত্র বৈশিষ্ট্যগুলি আপডেট করার অনুমতি দেয় তবে সম্পূর্ণ রেকর্ডগুলি সরিয়ে / আপডেট করে না।
জোরলেভ

স্পিঙ্কস আরটি আপনাকে আংশিক আপডেট / অপসারণের অনুমতি দেয়। এটি প্রাথমিক পর্যায়ে তবে ইতিমধ্যে [প্রায়] কাজ করছে। sphinxsearch.com/wiki/doku.php?id=rt_tutorial
pQd


গতির জন্য স্পিনিক্সের সাথে কোনও কিছুই মেলাতে পারে না, সুতরাং গতি যদি আপনার এক নম্বর উদ্বেগ হয় তবে স্পিঙ্কস হ'ল বিকল্পটি। দুর্দান্ত পোস্ট
টগবগ করুন

স্ফিংস ২.৩.২ বিটাতে এখন 'কল কল' নামে একটি বৈশিষ্ট্য রয়েছে যা প্রয়োগ করতে ব্যবহার করা যেতে পারে 'আপনার অর্থ কি?' sphinxsearch.com/docs/devel.html#sphinxql-call-suggest
Vinod K

82

আমি স্পিনিক্সকে চিনি না, তবে লুসিন বনাম একটি ডাটাবেস পূর্ণ-পাঠ্য অনুসন্ধানের জন্য, আমি মনে করি লুসিনের পারফরম্যান্স তুলনামূলক নয়। আপনি যদি আপনার লুসিন সূচকটি সঠিকভাবে সেট আপ করে থাকেন তবে আপনি যে কোনও রেকর্ড অনুসন্ধান করতে হবে তা নির্ধারণ না করে 10 এমএসেরও কম সময়ে আপনি প্রায় কোনও অনুসন্ধান করতে সক্ষম হবেন ।

এখানে সবচেয়ে বড় প্রতিবন্ধকতাটি আসে: ব্যক্তিগতভাবে, আমি মনে করি আপনার প্রকল্পে লুসিনকে একীকরণ করা সহজ নয় । অবশ্যই, এটি সেট আপ করা খুব কঠিন নয় যাতে আপনি কিছু প্রাথমিক অনুসন্ধান করতে পারেন তবে আপনি যদি সর্বোত্তম পারফরম্যান্সের সাথে এটি থেকে বেশিরভাগটি পেতে চান তবে অবশ্যই লুসিন সম্পর্কে আপনার একটি ভাল বই দরকার।

সিপিইউ ও র‌্যামের প্রয়োজনীয়তার জন্য, লুসিনে অনুসন্ধান করা আপনার সিপিইউকে খুব বেশি কাজ করে না, যদিও আপনার ডেটা সূচীকরণ করা হয়, যদিও আপনি এটি প্রায়শই করেন না (সম্ভবত দিনে একবার বা দুবার), তাই না বাধা অনেক।

এটি আপনার সমস্ত প্রশ্নের উত্তর দেয় না তবে সংক্ষেপে, যদি আপনার কাছে অনুসন্ধানের জন্য প্রচুর ডেটা থাকে এবং আপনি দুর্দান্ত পারফরম্যান্স চান তবে আমার ধারণা লুসিন অবশ্যই যাওয়ার উপায়। আপনার যদি সন্ধানের জন্য এত বেশি ডেটা না থাকে তবে আপনি সম্ভবত একটি ডাটাবেস পূর্ণ-পাঠ্য অনুসন্ধানে যেতে পারেন। একটি মাইএসকিউএল পূর্ণ-পাঠ্য অনুসন্ধান সেট আপ করা আমার বইতে অবশ্যই সহজ।


10
স্ফিংক্সের সাথে তুলনা করুন, লুসেন্স খুব ধীর এবং ভারী। আমি আমার প্রকল্পে উভয়ই ব্যবহার করেছি এবং আমি অবশেষে স্পিনিক্সে লেগেছি। লুসেন্স জাভাতে রয়েছে, এবং এটি স্পিনক্সের চেয়ে অনেক বেশি সিপিইউ এবং র‌্যাম লাগে।
ফায়ো আরকার লুইন

25
আমি এখানে মতানৈক্য আছে। আপনি যদি সঠিক সূচক তৈরি করেন তবে লুসিন দ্রুত বজ্রপাত করছে। আপনি মূলত কয়েক মিলিয়ন সেকেন্ডে কয়েক মিলিয়ন রেকর্ডের উপরে একটি উন্নত ক্যোয়ারী করতে পারেন। আপনি কেবল কি করছেন তা আপনার জানতে হবে। এবং লুসিন জাভাতে আছেন ... আপনার বক্তব্য? এছাড়াও নেট নেট বন্দর, Lucene.NET বিটিডব্লু।
রাজ্জি

15
তবে আপনি স্পষ্টভাবে বলেছিলেন যে আপনি স্ফিংস ব্যবহার করেন না এবং v3sson উভয়ই ব্যবহার করেছেন।
ব্যবহারকারী 508546

20
আপনি কীভাবে বলতে পারেন যে লুইসিনের পারফরম্যান্স একই বাক্যে তুলনীয় নয় যা আপনি বলেছিলেন যে আপনি স্ফিংস ব্যবহার করেন নি?
ব্যবহারকারী 508546

22
বৈধ প্রশ্ন। আমি কখনই বলিনি যে লুসিন স্পিনক্সের চেয়ে দ্রুত, আমি উল্লেখ করেছি যে লুসিন বনাম একটি ডেটাবেস পূর্ণ-পাঠ্য অনুসন্ধানটি তুলনামূলক নয়। এবং এটা করা হয়. সে সম্পর্কে কোনও প্রশ্ন নেই। Lucene একটি উল্টানো সূচক উপর ভিত্তি করে। এখন আমি স্পিঙ্কসকে জানি না, যেমনটি পূর্বে উল্লিখিত ছিল, তবে এটি যদি একটি উল্টানো সূচক বা অনুরূপ সূচক পদ্ধতিও ব্যবহার করে তবে সম্ভবত তারা সমান পারফর্ম করছে। স্পিনিক্সের তুলনায় লুসিন 'খুব আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে যায়' বলে স্পষ্টিকের তুলনায় লুসিন 'খুব আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে পরিণত হবে' এমন তথ্যের ভিত্তিতে নয়। বিশেষত যখন বলা হয় না যে লুসিন 'জাভা'তে রয়েছেন, যা পারফরম্যান্সের দিক থেকে একটি হাস্যকর বিষয় নয়।
রাজ্জি

60

আমি অবাক হয়েছি যে সোলার সম্পর্কে আরও কিছু পোস্ট করা হয়নি। সোলার স্পিনক্সের সাথে বেশ অনুরূপ তবে আরও উন্নত বৈশিষ্ট্য রয়েছে (এএফাইক যেমন আমি স্পিনিক্স ব্যবহার করি নি - কেবল এটি সম্পর্কে পড়ি)।

নীচের লিঙ্কের উত্তরটিতে স্ফিংক্স সম্পর্কে কয়েকটি জিনিস রয়েছে যা সোলারের ক্ষেত্রেও প্রযোজ্য। সম্পূর্ণ পাঠ্য অনুসন্ধান ইঞ্জিনের তুলনা - লুসিন, স্পিনিক্স, পোস্টগ্র্যাস্কিল, মাইএসকিউএল?

সোলার নিম্নলিখিত অতিরিক্ত বৈশিষ্ট্যগুলি সরবরাহ করে:

  1. প্রতিলিপি সমর্থন করে
  2. একাধিক কোর (এগুলি তাদের নিজস্ব কনফিগারেশন এবং নিজস্ব সূচী সহ পৃথক ডাটাবেস হিসাবে ভাবেন)
  3. বুলিয়ান অনুসন্ধান
  4. কীওয়ার্ডগুলির হাইলাইটিং (আপনার কাছে রেজেক্স-ফু থাকলে অ্যাপ্লিকেশন কোডে করা মোটামুটি সহজ; তবে, কেন কোনও বিশেষ সরঞ্জাম আপনার জন্য আরও ভাল কাজ করতে দেয় না)
  5. এক্সএমএল বা সীমিত ফাইলের মাধ্যমে সূচক আপডেট করুন
  6. এইচটিটিপি এর মাধ্যমে অনুসন্ধান সার্ভারের সাথে যোগাযোগ করুন (এটি জেসন, নেটিভ পিএইচপি / রুবি / পাইথনকেও ফিরিয়ে দিতে পারে)
  7. পিডিএফ, ওয়ার্ড ডকুমেন্ট ইনডেক্সিং
  8. গতিশীল ক্ষেত্র
  9. মতকে
  10. সমষ্টি ক্ষেত্র
  11. শব্দ, প্রতিশব্দ ইত্যাদি বন্ধ করুন
  12. এই রকম আরো অনেক...
  13. সরাসরি কাস্টম প্রশ্নের সাথে ডাটাবেস থেকে সূচক
  14. স্বয়ং-সুপারিশ
  15. ক্যাশে অটোয়ার্মিং
  16. দ্রুত সূচীকরণ (মাইএসকিউএল সম্পূর্ণ পাঠ্য অনুসন্ধানের সূচকের বারের সাথে তুলনা করুন) - লুসিন বাইনারি ইনভার্টেড সূচক বিন্যাস ব্যবহার করে।
  17. বুস্টিং (কোনও নির্দিষ্ট কীওয়ার্ড বা শব্দগুচ্ছ ইত্যাদির প্রাসঙ্গিকতা বাড়ানোর জন্য কাস্টম বিধি)
  18. ক্ষেত্রযুক্ত অনুসন্ধানগুলি (যদি কোনও ব্যবহারকারী ব্যবহারকারী তার / সে ক্ষেত্রটি সন্ধান করতে চায় তবে তারা ক্ষেত্রটি টাইপ করে তাদের সন্ধানকে সঙ্কুচিত করে, তারপরে মান, এবং কেবলমাত্র ক্ষেত্রটি সবকিছুর চেয়ে অনুসন্ধান করা হয় - আরও ভাল ব্যবহারকারীর অভিজ্ঞতা)

বিটিডাব্লু, আরও অনেকগুলি বৈশিষ্ট্য রয়েছে; তবে, আমি কেবলমাত্র প্রোডাক্টগুলিতে ব্যবহার করেছি এমন বৈশিষ্ট্যগুলি তালিকাভুক্ত করেছি। বিটিডাব্লু, বাক্সের বাইরে, মাইএসকিউএল উপরের তালিকায় # 1, # 3, এবং # 11 (সীমাবদ্ধ) সমর্থন করে। আপনি যে বৈশিষ্ট্যগুলি সন্ধান করছেন তার জন্য, একটি সম্পর্কিত ডেটাবেস এটি কাটবে না। আমি এগুলিকে এখুনি দূর করতাম।

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


স্ফিংসটিও প্রতিলিপি সমর্থন করে একাধিক কোর বুলিয়ান অনুসন্ধানগুলি কীওয়ার্ডের হাইলাইটিং এক্সএমএল-বা সীমিত ফাইল- পিডিএফ, ওয়ার্ড ডকুমেন্ট ইনডেক্সিং (এক্সএমএল এর মাধ্যমে) ফেসপস স্টপ শব্দ, প্রতিশব্দ ইত্যাদি ইত্যাদি সরাসরি কাস্টম প্রশ্নের সাথে ডাটাবেস থেকে সূচক স্বয়ংক্রিয়-প্রস্তাব দ্রুত ডায়নামিক ক্ষেত্রগুলি সম্পর্কে সমাহারক ক্ষেত্রগুলি ক্যাশে স্বীকৃতি আমি কেবল জানি না
মোশ

58

আপাচে সোলার


এছাড়াও ওপি এর প্রশ্নের উত্তর থেকে, আমার উপর কিছু অন্তর্দৃষ্টি নিক্ষেপ করা যাক এ্যাপাচি Solr থেকে সহজ ভূমিকা থেকে বিস্তারিত ইনস্টলেশন এবং বাস্তবায়ন

সাধারণ ভূমিকা


উপরের সার্চ ইঞ্জিনগুলির সাথে অভিজ্ঞতা রয়েছে এমন যে কেউ, বা তালিকায় নেই এমন অন্য ইঞ্জিনগুলি - আমি আপনার মতামত শুনতে আগ্রহী।

রিয়েল-টাইম সমস্যাগুলি সমাধান করতে সোলার ব্যবহার করা উচিত নয়। অনুসন্ধান ইঞ্জিনগুলির জন্য, সোলার বেশ গেম এবং নির্দোষভাবে কাজ করে

সোলার হাই ট্র্যাফিক ওয়েব-অ্যাপ্লিকেশনগুলিতে ভাল কাজ করে ( আমি কোথাও পড়েছি এটি এটির পক্ষে উপযুক্ত নয় তবে আমি সেই বিবৃতিটি সমর্থন করছি )। এটি সিপিইউ নয়, র‌্যাম ব্যবহার করে।

  • ফলাফল প্রাসঙ্গিকতা এবং র‌্যাঙ্কিং

বুস্ট আপনি রেঙ্ক আপনার ফলাফল শীর্ষ এ প্রদর্শিত করতে সাহায্য করে। বলুন, আপনি একটি নাম জন্য অনুসন্ধান করতে চেষ্টা করছেন জন মাঠে FIRSTNAME এবং LASTNAME , এবং আপনাকে প্রাসঙ্গিকতা দিতে চান FIRSTNAME তারপর আপনি প্রয়োজন ক্ষেত্র, অনুমোদন আপ FIRSTNAME দেখানো হয়েছে ক্ষেত্র।

http://localhost:8983/solr/collection1/select?q=firstname:john^2&lastname:john

আপনি দেখতে পাচ্ছেন, ফার্স্ট নেম ফিল্ডটি 2 এর স্কোর দিয়ে বাড়ানো হয়েছে

সোলার রিলেভেন্সি সম্পর্কে আরও

  • অনুসন্ধান এবং সূচকের গতি

গতি অবিশ্বাস্যভাবে দ্রুত এবং এটিতে কোনও আপস নেই। সোলারে চলে যাওয়ার কারণ ।

সূচকের গতি সম্পর্কে, সোলার আপনার ডাটাবেস টেবিলগুলি থেকে JOINS পরিচালনা করতে পারে । একটি উচ্চতর এবং জটিল JOIN সূচকের গতিকে প্রভাবিত করে। তবে একটি বিশাল র‌্যাম কনফিগারেশন সহজেই এই পরিস্থিতি মোকাবেলা করতে পারে।

র‌্যাম তত বেশি, সোলারের সূচকের গতি তত দ্রুত।

  • জাজানোয়ের সাথে ব্যবহারের সহজতা এবং একীকরণের সহজতা

সোলার এবং জ্যাঙ্গোকে কখনই সংহত করার চেষ্টা করেনি , তবে আপনি হায়স্ট্যাকের সাহায্যে এটি অর্জন করতে পারেন । আমি একই বিষয়ে কিছু আকর্ষণীয় নিবন্ধ পেয়েছি এবং এটির জন্য গিথুব এখানে ।

  • সংস্থান প্রয়োজনীয়তা - সাইটটি একটি ভিপিএসে হোস্ট করা হবে, তাই আদর্শভাবে অনুসন্ধান ইঞ্জিনটির জন্য প্রচুর র‌্যাম এবং সিপিইউ প্রয়োজন হয় না would

র‌্যামে সোলার প্রজনন হয়, সুতরাং যদি র‌্যাম বেশি হয় তবে আপনাকে সোলার সম্পর্কে চিন্তা করতে হবে না ।

সোলারের র‍্যাম ব্যবহার সম্পূর্ণ সূচকে দেখায় যদি আপনার কিছু বিলিয়ন রেকর্ড থাকে তবে আপনি এই পরিস্থিতি সামাল দিতে স্মার্টভাবে ডেল্টা আমদানি ব্যবহার করতে পারেন। যেমনটি ব্যাখ্যা করা হয়েছে, সোলার কেবলমাত্র একটি কাছের রিয়েল-টাইম সমাধান

  • কর্মক্ষমতা প্রসারণ

সোলার অত্যন্ত স্কেলযোগ্য। একটি চেহারা আছে SolrCloud । এর কয়েকটি মূল বৈশিষ্ট্য।

  • শারডস (বা শারডিং হ'ল একাধিক মেশিনের মধ্যে সূচক বিতরণের ধারণা, যদি আপনার সূচকটি খুব বেশি বেড়েছে তবে বলুন)
  • লোড ব্যালেন্সিং (যদি সোলারজ সোলার মেঘের সাথে ব্যবহার করা হয় তবে এটি রাউন্ড-রবিন প্রক্রিয়া ব্যবহার করে স্বয়ংক্রিয়ভাবে লোড-ব্যালেন্সিংয়ের যত্ন নেয়)
  • বিতরণ অনুসন্ধান
  • উচ্চ প্রাপ্যতা
  • সম্পর্কিত অনুসন্ধানগুলি ইত্যাদির মতো অতিরিক্ত বৈশিষ্ট্য যেমন "আপনি বোঝাতে চেয়েছিলেন?"

উপরের দৃশ্যের জন্য, আপনি সোলারের সাথে প্যাক আপ করা বানান চেক কম্পোনেন্টটি ব্যবহার করতে পারেন । আরও অনেক বৈশিষ্ট্য রয়েছে, স্নোবলপোর্টারফিল্টারফ্যাক্টরি রেকর্ড পুনরুদ্ধারে সহায়তা করে বলে যে আপনি যদি টাইপ করেন তবে বইয়ের পরিবর্তে বই , আপনাকে বই সম্পর্কিত ফলাফল উপস্থাপন করা হবে ।


এই উত্তরটি অ্যাপাচি সোলার এবং মাইএসকিউএল- তে ব্যাপকভাবে ফোকাস করে । জাজানোও সুযোগের বাইরে।

ধরে নিই যে আপনি লিনাক্স পরিবেশের অধীনে রয়েছেন, আপনি এই নিবন্ধটিতে আরও এগিয়ে যেতে পারেন। (আমার একটি উবুন্টু 14.04 সংস্করণ ছিল)

বিস্তারিত ইনস্টলেশন

শুরু হচ্ছে

এপাচি সোলারটি এখান থেকে ডাউনলোড করুন । সংস্করণটি হবে 4.8.1 । আপনি নতুন সংস্করণ ডাউনলোড করতে পারেন, আমি এটি স্থিতিশীল পেয়েছি।

সংরক্ষণাগারটি ডাউনলোড করার পরে এটি আপনার পছন্দসই ফোল্ডারে বের করুন। বলুন .. Downloadsবা যাই হোক না কেন .. সুতরাং এটির মতো দেখাবেDownloads/solr-4.8.1/

আপনার প্রম্পটে .. ডিরেক্টরি ভিতরে নেভিগেট

shankar@shankar-lenovo: cd Downloads/solr-4.8.1

তাই এখন আপনি এখানে ..

shankar@shankar-lenovo: ~/Downloads/solr-4.8.1$

জেটি অ্যাপ্লিকেশন সার্ভার শুরু করুন

জেটিsolr-4.8.1 ডিরেক্টরিটির উদাহরণ ফোল্ডারের ভিতরে পাওয়া যায় , তাই এর অভ্যন্তরে নেভিগেট করুন এবং জেটি অ্যাপ্লিকেশন সার্ভারটি শুরু করুন।

shankar@shankar-lenovo:~/Downloads/solr-4.8.1/example$ java -jar start.jar

এখন, টার্মিনালটি বন্ধ করবেন না, এটি ছোট করুন এবং এটি একপাশে থাকতে দিন।

(টিআইপি: জেটি সার্ভারটিকে পটভূমিতে চালিত করতে স্টার্ট.জারের পরে ও ব্যবহার করুন)

অ্যাপাচি সোলার সফলভাবে চলমান কিনা তা পরীক্ষা করতে , ব্রাউজারে এই URL টি দেখুন। HTTP: // স্থানীয় হোস্ট: 8983 / solr

কাস্টম পোর্টে জেটি চলছে

এটি ডিফল্ট হিসাবে 8983 বন্দরে চালিত হয়। আপনি এখানে বা সরাসরি jetty.xmlফাইলের অভ্যন্তরে পোর্টটি পরিবর্তন করতে পারেন ।

java -Djetty.port=9091 -jar start.jar

জ্যাকনেক্টরটি ডাউনলোড করুন

এই জেআর ফাইলটি মাইএসকিউএল এবং জেডিবিসির মধ্যে একটি সেতু হিসাবে কাজ করে , এখানে প্ল্যাটফর্ম স্বতন্ত্র সংস্করণ ডাউনলোড করুন

এটি ডাউনলোড করার পরে, ফোল্ডারটি বের করুন এবং কপি করুন mysql-connector-java-5.1.31-bin.jarএবং এটি lib ডিরেক্টরিতে আটকান ।

shankar@shankar-lenovo:~/Downloads/solr-4.8.1/contrib/dataimporthandler/lib

অ্যাপাচি সোলারের সাথে যুক্ত হওয়ার জন্য মাইএসকিউএল টেবিল তৈরি করা হচ্ছে

করা Solr ব্যবহার করতে, আপনাকে কিছু টেবিল এবং তথ্য জন্য অনুসন্ধান করতে থাকতে হবে। যে জন্য, আমরা ব্যবহার করবে মাইএসকিউএল একটি টেবিল তৈরি করা এবং কিছু র্যান্ডম নাম ঠেলাঠেলি জন্য এবং তারপর আমরা ব্যবহার করতে পারে Solr সাথে সংযোগ স্থাপনের জন্য মাইএসকিউএল এবং যে সূচক টেবিল এবং এটা এন্ট্রি।

1. টেবিল কাঠামো

CREATE TABLE test_solr_mysql
 (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  name VARCHAR(45) NULL,
  created TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (id)
 );

উপরের টেবিলটি 2.Polulate

INSERT INTO `test_solr_mysql` (`name`) VALUES ('Jean');
INSERT INTO `test_solr_mysql` (`name`) VALUES ('Jack');
INSERT INTO `test_solr_mysql` (`name`) VALUES ('Jason');
INSERT INTO `test_solr_mysql` (`name`) VALUES ('Vego');
INSERT INTO `test_solr_mysql` (`name`) VALUES ('Grunt');
INSERT INTO `test_solr_mysql` (`name`) VALUES ('Jasper');
INSERT INTO `test_solr_mysql` (`name`) VALUES ('Fred');
INSERT INTO `test_solr_mysql` (`name`) VALUES ('Jenna');
INSERT INTO `test_solr_mysql` (`name`) VALUES ('Rebecca');
INSERT INTO `test_solr_mysql` (`name`) VALUES ('Roland');

মূল ভিতরে andুকে লিবিং নির্দেশিকা যোগ করা

1. নেভিগেট করুন

shankar@shankar-lenovo: ~/Downloads/solr-4.8.1/example/solr/collection1/conf

2. solrconfig.xML সংশোধন করা

এই ফাইলটিতে এই দুটি নির্দেশ যুক্ত করুন ..

  <lib dir="../../../contrib/dataimporthandler/lib/" regex=".*\.jar" />
  <lib dir="../../../dist/" regex="solr-dataimporthandler-\d.*\.jar" />

এখন ডিআইএইচ যোগ করুন (ডেটা ইমপোর্ট হ্যান্ডলার)

<requestHandler name="/dataimport" 
  class="org.apache.solr.handler.dataimport.DataImportHandler" >
    <lst name="defaults">
      <str name="config">db-data-config.xml</str>
    </lst>
</requestHandler>

3. db-data-config.xML ফাইলটি তৈরি করুন

যদি ফাইলটি বিদ্যমান থাকে তবে তা উপেক্ষা করুন, এই ফাইলটিতে এই লাইনগুলি যুক্ত করুন। আপনি প্রথম লাইনটি দেখতে পাচ্ছেন, আপনার আপনার মাইএসকিউএল ডাটাবেসের শংসাপত্রাদি সরবরাহ করতে হবে । ডাটাবেসের নাম, ব্যবহারকারীর নাম এবং পাসওয়ার্ড।

<dataConfig>
    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/yourdbname" user="dbuser" password="dbpass"/>
    <document>
   <entity name="test_solr" query="select CONCAT('test_solr-',id) as rid,name from test_solr_mysql WHERE '${dataimporter.request.clean}' != 'false'
      OR `created` > '${dataimporter.last_index_time}'" >
    <field name="id" column="rid" />
    <field name="solr_name" column="name" />
    </entity>
   </document>
</dataConfig>

(টিপ: আপনার কয়েকটি সংখ্যক সত্ত্বা থাকতে পারে তবে আইডি ক্ষেত্রে নজর রাখতে পারেন, যদি সেগুলি একই হয় তবে সূচি বাদ দেওয়া হবে))

4. স্কিমা.এক্সএমএল ফাইলটি পরিবর্তন করুন

এটি আপনার স্কিমা.এক্সএমএল হিসাবে প্রদর্শিত হিসাবে যুক্ত করুন ..

<uniqueKey>id</uniqueKey>
<field name="solr_name" type="string" indexed="true" stored="true" />

বাস্তবায়ন

ইন্ডেক্সিং

আসল চুক্তিটি এখানেই। সোলার প্রশ্নের ব্যবহার করতে আপনাকে মাইএসকিউএল থেকে সোলার ইনর্ডারে ডেটা ইনডেক্সিং করতে হবে।

পদক্ষেপ 1: সোলার অ্যাডমিন প্যানেলে যান

আপনার ব্রাউজারে URL টিপুন: http: // লোকালহোস্ট: 8983 / সোলার । স্ক্রিনটি এভাবে খোলে।

এটি মূল অ্যাপাচি সোলার অ্যাডমিনিস্ট্রেশন প্যানেল

চিহ্নিতকারীটি ইঙ্গিত হিসাবে, উপরের কনফিগারেশনের কোনওটিতে ত্রুটি হয়েছে কিনা তা পরীক্ষা করতে লগিং ইনর্ডারে যান।

পদক্ষেপ 2: আপনার লগ পরীক্ষা করুন

ঠিক আছে তাই এখন আপনি এখানে আছেন, যেমন আপনি পারবেন প্রচুর হলুদ বার্তা (সতর্কতা)। নিশ্চিত করুন যে আপনার কাছে লাল চিহ্নযুক্ত ত্রুটিযুক্ত বার্তা নেই। এর আগে, আমাদের কনফিগারেশনে আমরা আমাদের ডিবি-ডেটা- কনফিগারেশন.এক্সএমএলে একটি নির্বাচিত ক্যোয়ারী যুক্ত করেছি , বলুন যে কোয়েরিতে কোনও ত্রুটি থাকলে এটি এখানে প্রদর্শিত হত।

এটি আপনার অ্যাপাচি সোলার ইঞ্জিনের লগিং বিভাগ

ভাল, কোন ত্রুটি। আমরা যেতে ভাল। চিত্রিত হিসাবে তালিকা থেকে সংগ্রহ 1 চয়ন করুন এবং ডেটািমপোর্ট নির্বাচন করুন

পদক্ষেপ 3: ডিআইএইচ (ডেটা আমদানি হ্যান্ডলার)

DIH ব্যবহার করে, আপনি সাথে সংযোগ হতে হবে মাইএসকিউএল থেকে Solr কনফিগারেশন ফাইল মাধ্যমে ডিবি-ডেটা-config.xml থেকে Solr ইন্টারফেস এবং ডাটাবেসের যা সম্মুখের ইন্ডেক্স পরার থেকে 10 রেকর্ড পুনরুদ্ধার Solr

এটি করতে, পূর্ণ-আমদানি চয়ন করুন এবং ক্লিন অ্যান্ড কমিট বিকল্পগুলি চেক করুন । এখন প্রদর্শিত হিসাবে এক্সিকিউট ক্লিক করুন ।

বিকল্পভাবে, আপনি এটির মতো সরাসরি পূর্ণ-আমদানি ক্যোয়ারীও ব্যবহার করতে পারেন ..

http://localhost:8983/solr/collection1/dataimport?command=full-import&commit=true

ডেটা আমদানি হ্যান্ডলার

আপনি এক্সিকিউট ক্লিক করার পরে , সোলার রেকর্ডগুলি সূচীকরণ শুরু করে, যদি কোনও ত্রুটি থেকে থাকে তবে এটি সূচী ব্যর্থ হবে এবং কী ভুল হয়েছে তা দেখতে আপনাকে লগিং বিভাগে ফিরে যেতে হবে ।

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

সূচক সাফল্য

পদক্ষেপ 4: সোলার ক্যোয়ারি চালানো

দেখে মনে হচ্ছে যে সবকিছু ঠিকঠাক হয়েছে, এখন আপনি সূচিযুক্ত ডেটা অনুসন্ধান করতে সোলার ক্যোরিগুলি ব্যবহার করতে পারেন । বামদিকে ক্যোয়ারী ক্লিক করুন এবং তারপরে নীচে এক্সিকিউট বোতামটি টিপুন ।

প্রদর্শিত হিসাবে আপনি সূচী রেকর্ড দেখতে পাবেন।

সমস্ত রেকর্ড তালিকার জন্য সংশ্লিষ্ট সোলার ক্যোয়ারী হ'ল

http://localhost:8983/solr/collection1/select?q=*:*&wt=json&indent=true

সূচকযুক্ত ডেটা

ঠিক আছে, সমস্ত 10 সূচী রেকর্ড আছে। বলুন, জা এর সাথে শুরু করে আমাদের কেবল নামগুলি দরকার solr_name, এক্ষেত্রে আপনার কলামের নামটি লক্ষ্য করা দরকার , সুতরাং আপনার প্রশ্নের উত্তর এইরকম।

http://localhost:8983/solr/collection1/select?q=solr_name:Ja*&wt=json&indent=true

জা * এর সাথে শুরু হওয়া জেএসএন ডেটা

আপনি সল ক্যোয়ারী লিখুন কিভাবে । এটি সম্পর্কে আরও পড়তে, এই সুন্দর নিবন্ধটি দেখুন


3
@ ডাউনভোটার, এই উত্তরটি মন্তব্য করতে বা সম্পাদনা করতে দ্বিধা বোধ করুন এবং ডাউনভোটের পক্ষে যুক্তি অন্যকেও সহায়তা করবে।
শঙ্কর দামোদরন

4
এটি এসওতে আমি দেখেছি এমন একটি সর্বাধিক বিস্তৃত এবং সুসংহত পোস্ট। চমৎকার কাজ.
অধ: পতিত

28

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

তবে এটিতে + বা AND এর মতো ব্যবহারকারী-বান্ধব অনুসন্ধান অপারেটর নেই (ব্যবহারগুলি & | ফলাফল স্নিপেটগুলিতে এটি ম্যাচের শর্তগুলির বোল্ডিং করার সময়, ডিফল্ট অ্যালগরিদম যার জন্য ম্যাচের শর্তগুলি দুর্দান্ত নয়। এছাড়াও, আপনি যদি আরটিএফ, পিডিএফ, এমএস অফিস সূচী করতে চান, আপনাকে একটি ফাইল ফর্ম্যাট রূপান্তরকারী সন্ধান করতে এবং সংহত করতে হবে।

OTOH, এটি মাইএসকিউএল পাঠ্য অনুসন্ধানের চেয়ে ভাল, এটি তিনটি অক্ষরের বা তারও কম শব্দের সূচী করে না। এটি মিডিয়াউইকি অনুসন্ধানের জন্য পূর্বনির্ধারিত এবং আমি সত্যিই মনে করি এটি শেষ ব্যবহারকারীদের জন্য ভাল নয়: http://www.searchtools.com/analysis/mediawiki-search/

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

শৈলির জন্য - এসএলআর-এ লুসিন অনুসন্ধান কোড লাইব্রেরি অন্তর্ভুক্ত রয়েছে এবং উপাদানগুলি একটি দুর্দান্ত একা একা অনুসন্ধান ইঞ্জিন হতে পারে।


1
আমি বিশ্বাস করি যে পোস্টগ্র্রেএসকিউএল সম্পূর্ণ পাঠ্য অনুসন্ধানে আপনি উল্লেখ করছেন Tsearch। তবে সিসার্ক বাক্য অনুসন্ধান সমর্থন করে না । এটি এখনও তাদের টোডো তালিকায় রয়েছে sai.msu.su/~megera/wiki/FTS_Todo
জ্ঞানাম

1
পোস্টগ্রিস 9.0 সম্পূর্ণ পাঠ্য অনুসন্ধানে সবেমাত্র একগুচ্ছ পরীক্ষা করা হয়েছে; যদি ব্যবহারকারী সমস্ত উচ্চারণ সঠিকভাবে পেতে ভুলে যায় তবে ফরাসি পাঠ্যটি মিলছে না বলে হতাশ হয়েছিলেন। শব্দের ফর্মগুলির সাথে মিল পাওয়া প্যাঁচিয়ে তোলে - উদাহরণস্বরূপ, ইংরেজিতে "বলুন" "" বলে থাকা পাঠ্যের সাথে মেলে না। সামগ্রিকভাবে মোটামুটি চিত্তাকর্ষক যদিও পরীক্ষিত ভাষাগুলিতে একত্রিত বৈশিষ্ট্যের জন্য (এন, ফ্রি, রু)।
রোমান স্টারকভ

9
@ ক্রমিনস: এগুলি সরিয়ে ফেলার জন্য আপনার একটি অলস শব্দকোষ ইনস্টল করতে হবে।
ডেনিস ডি বার্নার্ডি

2
"ওটিও, এটি মাইএসকিউএল পাঠ্য অনুসন্ধানের চেয়ে ভাল, যা তিনটি অক্ষরের বা তারও কম শব্দের সূচী করে না।" এটি মাইএসকিউএল-র অন্তর্নির্মিত সীমাবদ্ধতা নয় - এটি আপনি কনফিগার ফাইলে সেট করেছেন। যদি আপনি এক-বর্ণের শব্দের সূচী করতে চান তবে কনফিগে একটি মান পরিবর্তন করুন।
কানক

1
এটি উদ্বেগজনক যে লোকেরা এখনও পুরোপুরি অন্বেষণ করেনি এমন ডাটাবেসে তুলনা দিচ্ছে। মাইএসকিউএল তিনটি অক্ষর বা তার চেয়ে কম অক্ষরের সাথে সূচক শব্দগুলি করতে পারে - আপনাকে কেবল এটি সঠিকভাবে কনফিগার করতে হবে।
TheCarver

22

এই আমার খুব পুরানো প্রশ্নের দুটি সেন্ট। আমি অত্যন্ত কটাক্ষপাত গ্রহণ সুপারিশ করবে ElasticSearch

ইলাস্টিকসার্ক লুচিনের উপর ভিত্তি করে একটি অনুসন্ধান সার্ভার। এটি একটি বিতরণযোগ্য, মাল্টিটেন্যান্ট-সক্ষম পূর্ণ-পাঠ্য অনুসন্ধান ইঞ্জিন সরবরাহ করে একটি RESTful ওয়েব ইন্টারফেস এবং স্কিমা-মুক্ত JSON নথি। ইলাস্টিকসার্ক জাভাতে উন্নত এবং অ্যাপাচি লাইসেন্সের শর্তাবলীতে উন্মুক্ত উত্স হিসাবে প্রকাশিত হয়েছে।

অন্যান্য এফটিএস (সম্পূর্ণ পাঠ্য অনুসন্ধান) ইঞ্জিনগুলির সুবিধাগুলি হ'ল:

  • RESTful ইন্টারফেস
  • আরও ভাল স্কেলাবিলিটি
  • বৃহত জনগোষ্ঠী
  • Lucene বিকাশকারী দ্বারা নির্মিত
  • বিস্তৃত ডকুমেন্টেশন
  • অনেকগুলি মুক্ত উত্স গ্রন্থাগার উপলব্ধ রয়েছে (জ্যাঙ্গো সহ)

আমরা আমাদের প্রকল্পে এই অনুসন্ধান ইঞ্জিনটি ব্যবহার করছি এবং এতে খুব খুশি।


10

অনুসন্ধানটুলস-অভি বলেছিলেন "মাইএসকিউএল পাঠ্য অনুসন্ধান, যা এমনকি তিনটি অক্ষরের বা তারও কম শব্দের সূচী করে না।"

FYIs, মাইএসকিউএল ফুলটেক্সট মিনিটের শব্দের দৈর্ঘ্য কমপক্ষে মাইএসকিউএল 5.0 থেকে সামঞ্জস্যযোগ্য । সরল নির্দেশাবলীর জন্য গুগল 'মাইএসকিএল ফুলটেক্সট মিনিট দৈর্ঘ্য'।

এটি বলেছিল, মাইএসকিউএল ফুলটেক্সটের সীমাবদ্ধতা রয়েছে: একটি হিসাবে আপনি একবার মিলিয়ন বা রেকর্ড পৌঁছানোর পরে এটি আপডেট করা ধীর হয়ে যায়, ...


2

আমি তালিকাটিতে mnoGoSearch যুক্ত করব । চূড়ান্ত পারফরম্যান্ট এবং নমনীয় সমাধান, যা গুগল হিসাবে কাজ করে: সূচক একাধিক সাইট থেকে ডেটা আনে, আপনি মৌলিক মানদণ্ড ব্যবহার করতে পারেন, বা সর্বাধিক অনুসন্ধানের মানের জন্য আপনার নিজের হুক আবিষ্কার করতে পারেন। এছাড়াও এটি সরাসরি ডাটাবেস থেকে ডেটা আনতে পারে।

সমাধানটি আজ এতটা জানা যায় নি তবে এটি সর্বাধিক প্রয়োজনীয়তা অর্জন করে। আপনি এটি সংকলন এবং ইনস্টল করতে পারেন বা স্বতন্ত্র সার্ভারে, এমনকি আপনার মূল সার্ভারেও, এটি সলারের মতো এত বেশি রিসোর্সগুলির প্রয়োজন নেই, কারণ এটি সি তে লেখা আছে এবং এমনকি ছোট সার্ভারেও পুরোপুরি চলে runs

শুরুতে আপনার এটি নিজেই সংকলন করা দরকার, সুতরাং এটির জন্য কিছু জ্ঞানের প্রয়োজন। আমি ডেবিয়ানের জন্য একটি ছোট স্ক্রিপ্ট তৈরি করেছি , যা সাহায্য করতে পারে। যে কোনও সমন্বয় স্বাগত।

আপনি যেমন জ্যাঙ্গো কাঠামো ব্যবহার করছেন, আপনি মাঝখানে পিএইচপি ক্লায়েন্ট ব্যবহার করতে পারেন, বা পাইথনে কোনও সমাধান খুঁজে পেতে পারেন, আমি কিছু নিবন্ধ দেখেছি ।

এবং অবশ্যই ম্নোগো সার্চ হ'ল ওপেন সোর্স, জিএনইউ জিপিএল।

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