簡體   English   中英

托管模式中的Solr用例不區分大小寫字段

[英]Solr use case insensitive field in managed schema

我有一個使用字符串類型的字段,我希望它不分詞器並且不區分大小寫。 我知道使用字符串字段類型並添加LowerCaseFilterFactory過濾器,但是我如何在無模式下執行此操作?

沒有任何關於做它的“無模式”模式不同-你使用架構API來配置你的模式,也可以手動編輯管理的架構,如果你只有一個節點。

但是您不能將過濾器附加到字符串字段,因此必須將該字段更改為以TextField為基礎的字段類型,然后使用KeywordTokenizer作為其標記生成器並將該過濾器應用於結果。 KeywordTokenizer將輸入字符串保留為單個令牌,然后由過濾器將其轉換為小寫字母-結果與使用帶有附加過濾器的字符串字段得到的結果相同。

您可以通過在模式端點上調用add-field-type命令,通過模式API添加新的字段類型:

curl -X POST -H 'Content-type:application/json' --data-binary '{
  "add-field-type" : {
     "name":"myNewTxtField",
     "class":"solr.TextField",
     "positionIncrementGap":"100",
     "analyzer":{
        "tokenizer":{
           "class":"solr.KeywordTokenizerFactory" 
        }
        "filters":[{
           "class":"solr.LowercaseFilterFactory"
        }]
     }
  }
}' http://localhost:8983/solr/gettingstarted/schema

暫無
暫無

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

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