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