如何使用 Elasticsearch 或其他搜索引擎?
How can I use Elasticsearch or another search engine?
我想知道哪个搜索引擎最适合以下用例?
我们有一个应用程序可以从不同平台抓取广告。用户可以使用 keyword
和其他过滤器属性(价格、位置等)添加 searches
。当我们收到一个新广告时,我们想要找到所有与广告标题匹配的 searches
。
假设您有一个标题如下的广告:
I want to sale Iphone 7 plus, 16GB, black, 9/10
并使用此标题查询搜索 collection.
现在假设您使用以下关键字进行搜索:
Iphone 7 16GB
Iphone 8 plus
Iphone 7 black 32GB
Iphone 7
主要目标是仅匹配:1
和 4
搜索。因为 2
和 3
中有 advert
标题中没有的词。
无论您为此使用什么搜索引擎(Algolia、Elastic...),它们都将允许您执行此类限制性请求。
对于 Elasticsearch,您将使用带有 and
operator
的 match
子句,基本标准分析器将起作用。
Elasticsearch 中还有一个功能,允许您存储请求(也就是您的用户关键字)并向它们发送文档(广告)以获得匹配的请求列表。这叫做 Percolator.
我想知道哪个搜索引擎最适合以下用例?
我们有一个应用程序可以从不同平台抓取广告。用户可以使用 keyword
和其他过滤器属性(价格、位置等)添加 searches
。当我们收到一个新广告时,我们想要找到所有与广告标题匹配的 searches
。
假设您有一个标题如下的广告:
I want to sale Iphone 7 plus, 16GB, black, 9/10
并使用此标题查询搜索 collection.
现在假设您使用以下关键字进行搜索:
Iphone 7 16GB
Iphone 8 plus
Iphone 7 black 32GB
Iphone 7
主要目标是仅匹配:1
和 4
搜索。因为 2
和 3
中有 advert
标题中没有的词。
无论您为此使用什么搜索引擎(Algolia、Elastic...),它们都将允许您执行此类限制性请求。
对于 Elasticsearch,您将使用带有 and
operator
的 match
子句,基本标准分析器将起作用。
Elasticsearch 中还有一个功能,允许您存储请求(也就是您的用户关键字)并向它们发送文档(广告)以获得匹配的请求列表。这叫做 Percolator.