0

記事の検索にsolrを使用しています。一般的な単語「tall」を含む2つのテスト「body」文を作成しましたが、一致するものがありません。

クエリ--->本文: "外に背の高い人がいます"AND!UserId:2

次の投稿と一致しません:

本文:KUタワーは本当に背が高いUserId:3

これは単に非常に低いマッチングスコアですか?またはここで何か他のことが起こっていますか?マッチングスコアが低い場合、それは本当にそれほど低いはずですか?本文の文章は非常に短く、共通の単語を共有しているので、一致するものがあると思います。

編集:!UserId:2条件を設定した結果、一致が発生していないと思います。それなしで本文の文を一致させようとすると、それは非常に寛大です。誰かがこれを説明できますか?そしておそらく、このタイプの特定の動作を回避するためにクエリを最適に構造化する方法は?

ありがとう!

4

2 に答える 2

1

私は!でいくつかのファンキーな動作を見てきました。Solrの演算子。SolrQuerySyntax Wikiページに示されているように、代わりに-(負のインジケーター)を使用することをお勧めします。元のクエリを変更してBody:"There are tall people outside" AND -UserId:2、期待どおりに機能するかどうかを確認してください。

于 2011-09-28T01:37:17.400 に答える
0

私の後に来る人のために、私は解決策を見つけましたが、必ずしもその振る舞いの説明ではありません。

Solrクエリ:

(PostBody:There are tall people outside) AND !UserId:2

上記のように動作しました。本文の前後に引用符を追加すると、一致しないことに注意してください。Solrは、このようなクエリを個々の単語ではなく単一の文字列として照合しようとしていると思います。

于 2011-09-28T01:50:36.243 に答える