2016-10-06 4 views
1

"Movie"、 "Book"などの異なる値を持つtypeフィールドのSolrインデックスがあります。検索用語を指定すると、インデックス内のすべてのタイプの上位Xドキュメントを検索するにはどうすればよいですか?Solrインデックスの各タイプの上位X結果を取得するには

たとえば、「cats」を検索すると、「cats」についてトップXの書籍やトップX映画などを探しています。

これは、それぞれのタイプに対して複数のクエリを作成するのではなく、1つのクエリでこれを実行できるかどうかを確認したかったのです。 (タイプは、Solrを使用するアプリケーションによって合計で約半ダースが事前定義されています)。

+0

なぜdownvoteですか? –

+1

なぜあなたがdownvotedされたか分かりません。それは有効な質問です。 Upvoted。 – jay

答えて

3

Solrのフィールド折りたたみ/結果グループをチェックする必要があります。ここに公式文書があります。 https://cwiki.apache.org/confluence/display/solr/Result+Grouping

あなたのケースでは、クエリは、グループ内の結果は、デフォルトでは、クエリのスコアによってソートされているこの

http://localhost:8983/solr/your_index/select?wt=json&indent=true&fl=your_field1,your_field2&q=your query here&group=true&group.field=type 

のようになります。上記ドキュメントのセクションsortおよびgroup.sortを参照してください。

+0

私は上記を試しましたが、それは別の結果をもたらさなかった(つまり、ドキュメントの別々のグループで)。ちょっと掘り下げた後、私たちのアプリケーションで使用されているSolrのバージョンは、この機能を持つには古すぎると思います(1.4、私の決断ではありません)。私が持っていた1.4のドキュメントや1.4を扱っている本で、 'group'への参照を見つけることができませんでした。とにかくありがとう! –

+0

パッチを適用することができます。これにより、solrをアップグレードする必要はありません。http://stackoverflow.com/questions/2597972/best-practice-of-field-collapsing-in-solr-1-4パッチを適用する:https://wiki.apache.org/solr/HowToContribute#Working_With_Patches – jay

関連する問題