0

Solr の使用に関していくつか質問があります。

  1. 特定のリクエストは、異なるパス (ハンドラー?) に送信できます。たとえば、MoreLikeThis コンポーネントを /select または /mlt に送信できます。

Solr wiki で次の 2 つのリンクを見つけました。

http://localhost:8983/solr/mlt?q=id:UTF8TEST&mlt.fl=manu,cat&mlt.mindf=1&mlt.mintf=1&mlt.match.include=false

http://localhost:8983/solr/select?q=apache&mlt=true&mlt.fl=manu,cat&mlt.mindf=1&mlt.mintf=1&fl=id,score

この設定の背後にある理由は何ですか? MoreLikeThis リクエストを /mlt に送信することにした場合、/select 特定の呼び出しを利用できないということですか? そうでない場合、スペルチェックからクラスタリングへのすべての要求を処理するように /select パスを構成できますか?

  1. Lucene で二重文字の特殊文字列 (&&、||) をどのようにエスケープしますか?

http://lucene.apache.org/java/2_9_1/queryparsersyntax.html#Escaping+Special+Characters

最初の文字のみ (\&&) をエスケープするか、または両方をエスケープするか? そして、いつそれらをエスケープする必要がありますか? Solr パッケージで提供されているサンプル サーバーで実行したいくつかのテストは、決定的なものではありませんでした。

http://localhost:8983/solr/select/?q=manu:%22apple%20%26%26%22%20AND%20manu:%22computer%22

それでも結果を返しますが、

4

1 に答える 1

3

1) MoreLikeThisHandler の背後にある理論的根拠は、Solr wikiで説明されています。

類似したドキュメントに関する情報が特に必要な場合は、MoreLikeThisHandler を使用できます。

MoreLikeThis によって得られた同様の結果をフィルタリングする場合は、MoreLikeThisHandler を使用する必要があります。同様のドキュメントの結果セットがメインの結果セットと見なされるため、指定されたフィルター (fq) が適用されます。MoreLikeThisComponent を使用してクエリ フィルタを適用すると、それはメイン クエリ (QueryComponent) によって返される結果セットに適用され、MoreLikeThisComponent によって返される結果セットには適用されません。

2) すべての文字をエスケープする必要があります。

于 2011-01-10T14:25:47.680 に答える