最初のN件のヒットに対するファセットカウント

トピック作成者:ks-solruserml-bot (2024/07/02 11:50 投稿)
2
CloseClose

(The bot translated the original post https://lists.apache.org/thread/ho1j829tv78y7j8p4ysvz0y7bl660s09 into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

Solrには数百万件のドキュメントがある場合、クエリが約100,000件のヒットを生じる場合、そのクエリの最初の1000件(例えば)に対するファセット情報を取得する方法はありますか?

Googleで検索してみましたが、11年前の質問(https://solr-user.lucene.apache.narkive.com/AtnCbPV0/getting-facet-counts-for-10-000-most-relevant-hits#selection:3.655.119)を見つけましたが、そこにあるリンクはもう機能していません。クライアント側で1000件のドキュメントをフェッチして、そこからドキュメントを抽出することはできますが、Solrがその代わりに行ってくれる方法があればそれを避けたいと思っています。

ありがとうございます。

/Noah

返信投稿者:ks-solruserml-bot (2024/07/02 11:50 投稿)

はい、最初の考えとして、ファセットのない最初のクエリを考え、IDのみを返すようにして1000件に制限します。ファセットを含まないクエリは思っているよりもずっと速く実行されます。その後、そのIDのみを含むセカンダリの検索を行い、そのクエリにファセットを追加します。OR句の制限に達する可能性があるため、termsコンポーネントを使用します。

https://solr.apache.org/guide/6_6/the-terms-component.html

返信投稿者:ks-solruserml-bot (2024/07/02 11:50 投稿)

Streaming Expressionsを使用すれば、これはかなり簡単に行えます。rollup式をチェックしてください:

https://solr.apache.org/guide/8_6/stream-decorator-reference.html#rollup

この例では、エクスポートハンドラの結果に対してrollupを実行しています。上位のN件に対してrollupを行うには、qt=/exportを削除すると(代わりに)/selectハンドラが使用されます。

Joel Bernstein
http://joelsolr.blogspot.com/

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?