クエリタイム

トピック作成者:ks-solruserml-bot (2024/07/31 21:23 投稿)
5
CloseClose

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

私はスタンドアロンのSolrサーバーを持っており、何百万ものドキュメントをインデックスしています。
例えば、100万回以上存在するクエリのいくつかは、時間がかかります。
最初の100件だけが必要です。Solrにランキングを停止させて、最初の100件のヒットでソートするようにできますか?
検索時間が時には10秒以上になるのを制限する方法はありますか?

ありがとうございます。
Mike

返信投稿者:ks-solruserml-bot (2024/07/31 21:24 投稿)

あなたのスキーマといくつかのサンプルクエリを含めてください。具体的な情報が必要です。

返信投稿者:ks-solruserml-bot (2024/07/31 21:24 投稿)

短い答えとしては、最初の100件のヒットが見つかった後にSolrに検索を停止させることはできません。トップKを返すためには、取得とランキングのフェーズを完了する必要があります。候補を取得(検索)してランキングしなければ、どうやってトップKが何かを知ることができるでしょうか?

長い答えとしては、Apache Solrはすでにクエリ時間を最適化し、「価値のない候補をスキップする」ための「早期終了」アプローチを実装しています。例えば、Solr 8からのBlock Max WAND(これに感謝: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7148045/ )があります。

2つ目の質問については、以下のリンクを使用できます:
https://solr.apache.org/guide/6_6/common-query-parameters.html#CommonQueryParameters-ThetimeAllowedParameter
ただし、これは万能ではなく、古いバージョンではいくつかのバグが報告されていますので、問題が修正されたSolrのバージョンを使用するようにしてください( https://issues.apache.org/jira/browse/SOLR-9882

よろしくお願いします。

Alessandro Benedetti
ディレクター @ Sease Ltd.
Apache Lucene/Solr コミッター
Apache Solr PMC メンバー

返信投稿者:ks-solruserml-bot (2024/07/31 21:24 投稿)

デフォルトでは使用されていないので、「minExactCount」パラメーターを指定する必要があります。

https://solr.apache.org/guide/solr/latest/query-guide/common-query-parameters.html#minexactcount-parameter

返信投稿者:ks-solruserml-bot (2024/07/31 21:24 投稿)

sort=_docid_ ascにすると、指定した行数を収集した後に処理が中断されると思います。
明らかに、これによりすべてのスコアリングが無効になりますが、おそらくインデックスを事前にソートすることができるかもしれません。

--
よろしくお願いします、
Mikhail Khludnev

返信投稿者:ks-solruserml-bot (2024/07/31 21:24 投稿)

みなさんありがとうございます。

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

KandaSearch

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

投稿の削除

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