1

複数のフィールドに対して solr dismax クエリを実行しようとしていますが、構文に少し混乱しています。

私のコアには、大量のポッドキャスト エピソードが含まれています。インデックスのフィールドは、EPISODE_ID、EPISODE_TITLE、EPISODE_DESC、および EPISODE_KEYWORDS です。

ここで、クエリを実行するときに、EPISODE_TITLE、EPISODE_DESC、および EPISODE_KEYWORDS フィールドでクエリ用語を検索し、フィールドごとに異なるブーストを使用したいと考えています。

したがって、「jedi」を検索すると、作成したクエリは次のようになります。

http://localhost:8983/solr/episode_core/select?
    &defType=dismax&q=jedi&fl=EPISODE_ID,EPISODE_TITLE,EPISODE_DESC,EPISODE_KEYWORDS
    &qf=EPISODE_TITLE^3.0+EPISODE_DESC^2.0+EPISODE_KEYWORDS

ただし、これは機能していないようです。ゼロのレコードが返されます。

以下のようにデフォルトのフィールドを配置すると、機能するようになりましたが、3 つのフィールドすべてを検索しても結果が得られないことを意味するため、これは一種のくだらないことです。

http://localhost:8983/solr/episode_core/select?&df=EPISODE_DESC
    &defType=dismax&q=jedi&fl=EPISODE_ID,EPISODE_TITLE,EPISODE_DESC,EPISODE_KEYWORDS
    &qf=EPISODE_TITLE^3.0+EPISODE_DESC^2.0+EPISODE_KEYWORDS

私がここに欠けているものはありますか?複数のフィールドを検索できると思ったのですが、「qf」パラメーターは、デフォルトのフィールド パラメーターを指定する必要がないことを意味すると思いましたか?

すべての助けに感謝します...

4

1 に答える 1