6

Apache Luceneを使用して、フレーズ「Grand Prarie」(意図的にスペルミス)であいまい一致を実行しようとしています。私の問題の一部は、~オペレーターが単一の単語の用語に対してのみあいまい一致を行い、フレーズの近接一致として動作することです。

Luceneを使用したフレーズであいまい一致を行う方法はありますか?

4

3 に答える 3

7

Lucene 3.0には、ファジーフレーズクエリをサポートするComplexPhraseQueryParserがあります。これはcontribパッケージに含まれています。

于 2010-04-07T06:37:18.080 に答える
4

グーグルを通してこれに出くわし、私が求めていたものではないところに解決策を感じました。私の場合、解決策はsolrAPIに対して検索シーケンスを繰り返すことでした。たとえば、「dog〜」と「cat〜」の一致を含めるtitle_tを探している場合は、次のようにクエリを生成するための手動コードを追加しました。

((title_t:dog~) and (title_t:cat~))

上記のクエリの内容かもしれませんが、リンクが機能していないようです。

于 2013-06-02T18:25:52.830 に答える
3

ファジーフレーズを直接サポートすることはできませんが、ファジー用語を明示的に列挙し、それらをMultiPhraseQueryに追加することで、それをシミュレートできます。結果のクエリは次のようになります。

<MultiPhraseQuery: "grand (prarie prairie)">
于 2010-04-07T01:03:06.293 に答える