2017-10-15 15 views
0

私は1Mから10Mまでの文字列のリストを持っており、それらのどれが単一の文書(例えば、1ページのテキスト)内にあるかを見たいと思っています。複数の文字列を1つの文書で検索する

Lucene(Solr/Elasticsearch)を使用して、文字列を含むすべてのドキュメントを見つけることができます。しかしこれは逆です。

Aho-Corasicなどの文字列検索アルゴリズムの1つに基づいてアドホックな解決策をプログラムすることはできますが、私は車輪を再発明すると仮定します。これにはライブラリ/フレームワークはありますか?

(それはすべての違いを、私は、言葉に文字列や文書を分割して元気です)

答えて

2

このユースケースは、通常、「パーコレーター」コンポーネントによって解決されます。 Apache Solr [1]とElasticsearch [2]の両方が機能を提供します。 基本的に "クエリ" Qのインデックスを作成し、クエリDを文書から作成して、どのクエリQが一致するかを確認します。

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

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

関連する問題