[英]Sorting on multivalued field in Solr
我知道Solr不支持多值字段排序。 但是我們有什么方法可以在Solr中對多值字段進行排序。 我有兩個帶字段custom_code的文檔,值如下,
Doc 1:11,78,45,22
Doc 2:56,74,62,10
當我按升序排序時,順序應該是,
Doc 2:56,74,62,10
Doc 1:11,78,45,22
這里Doc 2將首先出現,因為它具有最小的元素10(比文檔1中的11個更大)。
我們怎樣才能在Solr中實現這一目標。 什么是最簡單的方法?
如果實現此問題 ,您可以使用它,如故障單的描述。 但它還沒有。
因此,您可以做的另一件事是索引另一個字段min_code
,非多值並將custom_code
的最小值放在那里。 您可以在客戶端或在UpdateRequestProcessor中的Solr中執行此操作。 然后你只需對min_code
排序
創建一個copyfield,將多值數據的內容復制到一個沒有逗號的已排序的連續單個值中,並將其用於排序。
對於Ex:
文件1:
multiValuedData:11,78,45,22
sortedConcatenatedSingleValue:11224578
文件2:
multiValuedData:56,74,62,10
sortedConcatenatedSingleValue:10566274
如果在從源生成數據時無法創建此singlvalue字段,則可以在索引時使用腳本轉換器( https://wiki.apache.org/solr/DataImportHandler#ScriptTransformer )來創建此sortedConcatenatedSingleValue字段一個javascript函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.