簡體   English   中英

如何以不區分大小寫的方式對 Solr 字段進行排序

[英]How to Sort Solr field in case insensitive manner

我想以不區分大小寫的方式對 Solr 中的字符串字段進行排序。

搜索結果顯示為oracle排序方式,即先取任何特殊字符、數字、大寫(AZ)再小寫(az)。

結果應為特殊字符、數字、大寫 (A)、小寫 (a) – 到大寫 (Z) 小寫 (z)

Current Expected

110000  110000
ATest   ATest
Btest   aTest
Ctest   BTest
Ztest   bTest
aTest   CTest
bTest   cTest
cTest   ZTest

請幫助配置字符串字段以按預期方式排序。

實現此目的的一種方法是,當您提取數據(例如code_for_sorting_s )時,將文本的小寫版本存儲在單獨的 Solr 字符串字段中,然后按該字段排序。

另一種方法是在 Solr 中定義一個copy-field ,該字段會自動將當前字段(例如code_s )中的值復制到使用小寫過濾器的新字段中。 使用 Solr 中的內置類型,您的copy-field定義可能或多或少如下所示:

curl -X POST -H 'Content-type:application/json' --data-binary '{
  "add-copy-field":{
    "source":"code_s",
    "dest":[ "code_s_lower" ]}
}' http://your-solr-core-url/schema

在這種情況下, code_s字段的值將被復制到一個新字段 ( code_s_lower )。 *_s_lower后綴在 Solr 中定義,以創建一個使用我提到的小寫過濾器的字符串字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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