بهترین موتور جستجوی full-text

در این مقاله مقایسه‌ای میان مشهور ترین full-text engine ها انجام می‌شود.

Vespa Engine

  • Vector search
  • BM25

Elasticsearch

یک full-text search engine تجاری و همه منظوره با یک RESTFUL API است که با استفاده از Apache Lucene طراحی شده, و به زبان java نوشته شده.

موتور جستجوی Elasticsearch یک موتور جستجوی full-text سرچ همه منظوره نوشته شده با java بر حسب کتابخانه Lucene آپاچی می‌باشد, که دارای یک رابط کاربری RESTFUL API پذیرنده داده های JSON و ساده می‌باشد.

  • Vector search
  • BM25

یکی از ویژگی های مهم الستیک سرچ index sharding می‌باشد که برای بالا بردن performance و availability داده ها, document های بلند index را به partition هایی کوچک و قابل جستجو بنام shard تبدیل می‌کند.

  • Amazon
  • Walmart
  • UnitedHealth Group
  • Apple
  • CVS Health

برخی از شرکت هایی هستند که گفته می‌شود از Elasticsearch استفاده می‌کنند.

https://www.zoominfo.com/tech/973/elasticsearch-tech-by-revenue

OpenSearch

یک Fork منبع باز از خود Elasticsearch می‌باشد که بدون license قابل استفاده است.

Solr

موتور جستجوی lucene-solr یکی از قدیمی ترین و پر استفاده ترین موتور های جستجوی full-text تجاری می‌باشد که با java بر حسب پروژه Apache Lucene نوشته شده, و دارای یک رابط کاربری RESTFUL API قدرتمند می‌باشد.

  • Vector Search

می‌توان گفت درواقع Solr یک رابط کاربر HTTP برای کتابخانه Lucene می‌باشد که درسال 2004 توسط Yonik Seeley به زبان Java نوشته شد.

  • DuckDuckGo
  • Facebook
  • Instagram
  • Netflix
  • NASA PDS (Planetary Data System)

موارد فوق برخی از شرکت هایی هستند که از solr استفاده می‌کنند؛ موارد بیشتر در لینک زیر قابل مشاهده است.

گفته می‌شود موتور جستجوی لوسین-سولر برای پروژه های تجاری مناسب تر از الاستیک سرچ می‌باشد از آنجا که این کتابخانه بسیار قدیمی تر و بالغ تر از رقبای خود مثل Elasticsearch و meilisearch می‌باشد و توسط شرکت های بزرگی مورد استفاده قرار گرفته.

Meilisearch

Meilisearch

موتور جستجوی meilisearch یک موتور جستجوی بسیار ساده و سریع full-text نوشته شده با rust می‌باشد که در بیشتر مواقع از elasticsearch نیز سریعتر است.

برخلاف دیگر موتور های جستجو مثل Elasticsearch و Solr که برای استفاده کار آمد نیاز به تجربه بالایی هستند, و learning curve طولانی تری دارند, meilisaerch برای استفاده ساده و سریع طراحی شده؛ این ویژگی موجب برتری meilisearch برای پروژه های ساده و غیر تجازی می‌شود, اما در پروژه های تخصصی و تجاری که نیاز به query نویسی های پیچیده, گزینه مناسبی نیست.

comments