【问题标题】:How can I use Elasticsearch or another search engine?如何使用 Elasticsearch 或其他搜索引擎?
【发布时间】:2019-02-12 10:57:17
【问题描述】:

我想知道哪个搜索引擎最适合以下用例?

我们有一款应用可以抓取来自不同平台的广告。用户可以添加searcheskeyword 和其他过滤器属性(价格、位置等)。当我们收到一条新广告时,我们希望找到与广告标题匹配的所有searches

假设您有一个标题如下的广告:

I want to sale Iphone 7 plus, 16GB, black, 9/10 并使用此标题查询搜索集合。

现在假设您使用以下关键字进行此搜索:

  1. Iphone 7 16GB
  2. Iphone 8 plus
  3. Iphone 7 black 32GB
  4. Iphone 7

主要目标是仅匹配:14 搜索。因为23 有在advert 标题中找不到的词。

【问题讨论】:

    标签: mongodb elasticsearch solr full-text-search algolia


    【解决方案1】:

    无论您为此使用什么搜索引擎(Algolia、Elastic...),它们都将允许您执行此类限制性请求。

    对于 Elasticsearch,您将使用带有 and operatormatch 子句,基本的标准分析器将起作用。

    Elasticsearch 中还有一个功能允许您存储请求(也就是您的用户关键字)并向它们抛出文档(广告)以获得匹配的请求列表。这称为Percolator

    【讨论】:

    • 我查看了 Percolate,我认为这就是我们想要的,但我不知道如何将 matchand 子句一起使用? Matchand 将尝试查找关键字与广告标题 I want to sale Iphone 7 plus, 16GB, black, 9/10 相同的所有搜索,对吧?
    猜你喜欢
    • 2013-01-24
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 2013-01-20
    相关资源
    最近更新 更多