2014-01-20 4 views
8

現在、フィルタ/ファセット/クエリが適用されていないページ設定があります。これはすべてのコンテンツのリストです(ページャを使用しています)。フィルタのクエリは*:*(任意のフィールドの任意のもの)のようなものです。フィルタクエリ*:*を使用すると、Solrはデフォルトでどのようにソートされますか?

どのようにコンテンツがソートされているのかわかりません。それは「関連性」であると言いますが、すべてを選択しているときはどういう意味ですか?

私は簡単なテストを行った。コンテンツが変更された日、またはインデックスに入力された日付でソートされていないようです。

答えて

8

a MatchAllDocsQueryと呼ばれています。 SOの質問How are results ordered in solr in a "match all docs" queryによると、インデックスに格納されているのと同じ順序でドキュメントが返されます。

は、既存の文書を更新した場合、それはの削除と再作成を得ることに注意してください。そういうわけで、それはその後のそのような検索の終わりに現れるだろう。

は、(少なくとも)私はそれを認識していLuceneのNabbleで2つのスレッドがこのトピックには興味深いがありますされている

+0

恐ろしいことに、その種類のクエリが名前を持っているかどうかはわかりませんでした。 – donutdan4114

2

sortパラメータが指定されていない場合、デフォルトの検索はscore descでなければなりません。 はすべてを選択します。

参考:*:*の問い合わせhttp://wiki.apache.org/solr/CommonQueryParameters#q

+0

ファセットや何かを適用していない場合、スコアはすべての文書で同じではないでしょうか? 10の文書のスコアが同じ場合、Solrはどのようにそれらの文書をソートしますか?このドキュメントは非常に明確ではありません。http://wiki.apache.org/solr/SolrRelevancyFAQ#How_are_documents_scored – donutdan4114

+0

そして、このドキュメントは少し私の頭の上にある:https://lucene.apache.org/core/4_0_0/core/ org/apache/lucene/search/similarities/TFIDFSimilarity.html – donutdan4114

+2

@ donutdan4114正確に同じスコアで返されたドキュメントがあれば、ドキュメントが更新/挿入されるにつれて徐々に増加する内部LuceneドキュメントIDによってソートされます。そのコンテキストでは、スコアを結んでいる文書は、索引に表示される順序でソートされます。 – jro

関連する問題