بهترین موتور جستجوی 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
- Netflix
- NASA PDS (Planetary Data System)
موارد فوق برخی از شرکت هایی هستند که از solr استفاده میکنند؛ موارد بیشتر در لینک زیر قابل مشاهده است.
گفته میشود موتور جستجوی لوسین-سولر برای پروژه های تجاری مناسب تر از الاستیک سرچ میباشد از آنجا که این کتابخانه بسیار قدیمی تر و بالغ تر از رقبای خود مثل Elasticsearch و meilisearch میباشد و توسط شرکت های بزرگی مورد استفاده قرار گرفته.
Meilisearch
موتور جستجوی meilisearch یک موتور جستجوی بسیار ساده و سریع full-text نوشته شده با rust میباشد که در بیشتر مواقع از elasticsearch نیز سریعتر است.
برخلاف دیگر موتور های جستجو مثل Elasticsearch و Solr که برای استفاده کار آمد نیاز به تجربه بالایی هستند, و learning curve طولانی تری دارند, meilisaerch برای استفاده ساده و سریع طراحی شده؛ این ویژگی موجب برتری meilisearch برای پروژه های ساده و غیر تجازی میشود, اما در پروژه های تخصصی و تجاری که نیاز به query نویسی های پیچیده, گزینه مناسبی نیست.