[英]Elastic4s ngram mapping
我必須使用 elastic4s 創建一個像這樣的 ElasticSearch 映射:
"mappings": {
"properties": {
"id": {
"type": "keyword"
},
"name": {
"type": "text",
"analyzer": "ngram_analyzer",
"fielddata": true
},
"lang": {
"type": "keyword"
},
"order": {
"type": "long"
},
"active": {
"type": "boolean"
}
"description": {
"type": "text"
}
}
}
我可以
def mapping: Option[MappingDefinition] =
Some(
properties(
KeywordField("id"),
KeywordField("lang"),
BasicField("order", "long"),
BasicField("active", "boolean"),
TextField("description")
)
)
用於 id、lang、order、active 和 description。
但是,我怎樣才能為name
做這樣的映射。 問題在於其中的analyzer
和fielddata
。
你應該使用這個:
TextField("name").fielddata(true).analyzer("ngram_analyzer")
您還需要確保在索引設置中正確創建ngram_analyzer
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.