テキストメッセージを格納するインデックスを(Lucene 2.9を使用して)作成しました。(ドキュメントには、インデックス付けされておらず、保存されているだけのその他のメタデータも含まれています)これらのメッセージの解析にはStandardAnalyzerを使用します。Solrを使用してこのインデックスでいくつかのテストを実行しようとしています(サンプルのアプリインデックスを自分のインデックスに置き換えました)。さまざまなクエリからどのような結果が得られるかを確認します。
次のクエリを試したところ、0件の結果が得られました
"text:happiness"
ただし、これを変更すると、"text:happiness*"
いくつかの結果が得られます。すべてになどの用語が含まれています"happiness,", "happiness."
。したがって、インデックス作成中のトークン化の問題だと思いましたが、Luke(luceneインデックスデバッグツール)を使用して同じクエリを実行すると(text:happiness)
、まったく同じ結果が得られました。 Solrからの幸福*。これにより、問題はインデックス作成中ではなく、Solrクエリを指定する方法にあると私は信じました。solrconfig.xmlを見て、次の行(コメント付き)があることに気付きました。コメントを外してみて、元のクエリに加えて「defType = lucene」を使用するようにクエリを変更しましたが、同じ結果が得られました。
<queryParser name="lucene" class="org.apache.solr.search.LuceneQParserPlugin"/>
私はSolrの経験がほとんどないので、どんな助けでも大歓迎です:)