2016-05-15 11 views
0

次の単語をSolrで使用するとします。黄色、青色、緑色です。その後、黄色と青と緑の 部分的な結果Solr

  • (黄色と青)を含む文書OR(黄色と緑)OR:

    私がこの順に一致する文書を返したい:

    • 含まれているすべての文書(青と緑)
    • 次いで要するに

  • 黄色または青または緑を含むドキュメント:ドキュメントを2つの用語に一致する、すべての3つの用語に一致する、単一のマッチ。

    このためにクエリを構造化するにはどうすればよいですか?

    +0

    あなたはブーストを試しましたか? –

    +0

    ブースティングは黄色、次に青色、次に緑色の文書を返すように働きます。部分的なクエリでは役に立ちません。 – Thomas

    +0

    フィールドのフィールドタイプは何ですか? –

    答えて

    0

    これは、単一のフィールドを検索するときのデフォルトの動作です。より多くのオプションのSHOULD句が一致します - スコアが高いほど。

    しかし、DismaxまたはeDismaxを使用していて、異なるフィールドに対して用語が一致すると、競合するスコアが得られ、最高のもののみが選択されます。これにより、ある分野のいくつかの用語が異なる分野の追加用語の存在を隠し、可能な異なる順序をもたらす可能性があります。

    これらの状況を試す戦略の1つは、最大スコアではないフィールドマッチのスコアを考慮に入れたtie(Tie Breaker)パラメータです。極端な効果を得るために1に設定し、結果が期待どおりであるかどうかを確認してください。

    関連する問題