【问题标题】:Search for many strings in a single document在单个文档中搜索多个字符串
【发布时间】:2017-10-15 21:54:59
【问题描述】:

我有一个 1M 到 10M 字符串的列表,我想看看其中哪些可以在单个文档中找到(比如 1 页文本)。

我知道我可以使用 Lucene (Solr/Elasticsearch) 来查找所有包含字符串的文档。但这恰恰相反。

我可以根据Aho-Corasic、try 等字符串搜索算法之一编写一些临时解决方案,但我认为我会重新发明轮子。有没有为此的库/框架?

(如果有任何区别,我可以将字符串和文档拆分成单词)

【问题讨论】:

    标签: search lucene full-text-search


    【解决方案1】:

    这个用例通常由“渗滤器”组件解决。 Apache Solr[1] 和 Elasticsearch[2] 都提供了该功能。 基本上,您索引“查询”Q,然后从文档中构建查询 D 以验证哪些查询 Q 匹配。

    [1] https://github.com/flaxsearch/luwak , http://www.flax.co.uk/what-we-do/luwak/

    [2]https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-percolate-query.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-28
      • 1970-01-01
      • 2012-05-17
      • 2021-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多