2012-04-24 8 views
0

私はLucene 3.6を使用して近接検索を実装しようとしています。私はSpanNearQueryに行っていましたが、私の教師は、QueryParserはもっと良い方法でそれを行うことができると言います(SpanNearQueryとは異なり、アナライザを使ってクエリをフィルタリングします)。誰でも私にクエリの構文を教えてもらえますか?私はここ数時間インターネットで検索してきました。 ?:(近接検索のQueryParserの構文は何ですか?

答えて

2

あなたは私がやったはいLucene query syntax documentation

+0

見てきましたが、それは、私はいくつかのミスを作っていた可能性が高く、私のために動作しませんでしたここに私がやったことだ: 'QueryParser queryParser =新しいQueryParser(Version.LUCENE_36 、 "myField"、analyzer); クエリクエリ= queryParser.parse( "word1 word2〜1"); ' ファジィ検索に関するエラーを実行時に示しますが、文字列の後に "〜1" – Sufian

+2

あなたが書いた引用符は、あなたが文字列litteralを書いていることをJavaに理解させますが、それは 'word1 word2〜1'(引用符なし)にするには、 'queryParser.parse(" \ "word1 word2 \") 〜1 ")'(バックスラッシュはエスケープのため、Javaが文字列の最後と解釈しないようにしています – jpountz

+0

ありがとうございます。できます。 Btw、それは「バイワードインデックス」のようにもっと機能しませんか?私は2つの条件を取って、許容される最大距離を言及し、他の用語とANDを取ります。私はあなたに感謝します。 :) – Sufian

関連する問題