2015-07-09 59 views
0

Solr中記錄採樣的最佳方式是什麼?如何在Solr中統一採樣記錄?

說我有一個查詢返回1000000條記錄,我想從這些統一取10個樣本。在Solr查詢中執行此操作最合適的方法是什麼?

回答

0

在這種情況下刻面會幫助你。

分面是根據索引條款將搜索結果分類爲多個分類。向搜索者提供索引術語以及每個術語找到多少匹配文檔的數字計數。分面可以讓用戶輕鬆瀏覽搜索結果,縮小搜索結果的範圍。

要了解有關solr查詢的更多信息,請閱讀以下鏈接。

https://cwiki.apache.org/confluence/display/solr/Faceting

1

通過使用動態字段隨機名稱實現a random field in Solr,排序按該字段,然後限制搜索結果返回十個文檔。相同的索引版本和相同的字段名稱會給出相同的結果,因此您還可以根據需要對數據集進行分頁和瀏覽。

<types> 
    ... 
    <fieldType name="random" class="solr.RandomSortField" /> 
    ... 
</types> 
<fields> 
    ... 
    <dynamicField name="random*" type="random" indexed="true" stored="false"/> 
    ... 
</fields> 

然後,您可以通過排序與隨機名稱這一領域,如sort=random_12345678和限制文件的數量與rows=10