我必须使用ElasticSearch创建像这样的elastic4s映射:
"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,活动和描述。
但是,我如何才能为name做这样的映射。问题在于它内部的analyzer和fielddata。
发布于 2020-01-30 10:05:17
你应该用这个:
TextField("name").fielddata(true).analyzer("ngram_analyzer")还需要确保在索引设置中正确创建ngram_analyzer。
https://stackoverflow.com/questions/59964776
复制相似问题