簡體   English   中英

在Solr中對多值字段進行排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM