0
我有一個問題 - 如果在響應中同時存在大小寫值,則需要對SOLR進行排序以產生正確的字母順序。 現在,使用Solr按正確的字母順序排序
<field name="somefield" type="text_general" indexed="true" stored="true"/>
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
我可以輕鬆地獲得水木清華這樣
aaa
AAA
BBB
bbb
BBB
DDD
ddd
像有大寫和小寫字母之間沒有優先級。
但它需要得到這樣的:
aaa
AAA
bbb
BBB
BBB
ddd
DDD
如何做這種正確排序?
您使用的是哪個版本?我試圖用Solr 5.4.1重現您的問題,但是當我告訴Solr對該文本字段進行排序時,文檔按正確順序排序。 – cuh
@cuh謝謝。我正在使用5.4.0。你是否根據需要獲得確切的結果?你能提供你的字段和類型的配置嗎? – alexloiko
@cuh因爲我現在嘗試在現場title_t(text_general)新的核心和接受這樣的結果/採取的DDD和DDD部分一臉 '{ 「title_t」: 「AAA」 },{ 「title_t」 : 「AAA」 }, { 「title_t」: 「AAA」 }, { 「title_t」: 「BBB」 }, { 「title_t」: 「DDD」 }, { 「 title_t「:」DDD「 }, { 」title_t「:」ddd「 }' – alexloiko