我希望创建一个具有属性的搜索索引,该属性的结果按以下顺序排列:
因此,我想使用https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-edgengram-tokenizer.html
但是我的索引设置中已经有了一个标记程序kuromoji_tokenizer。
那么,我如何在设置中添加另一个令牌程序(稍后在分析器中使用),这样我就可以实现上面的scneario了?
因此,例如,在下面的json中,我可以将另一个子元素添加到tokenzier或者tokenzier需要是一个数组吗?
"settings": {
"analysis": {
"analyzer": {
"autocomplete": {
"tokenizer": "autocomplete",
"filter": [
"lowercase"
]
},
"autocomplete_search": {
"tokenizer": "lowercase"
}
},
"tokenizer": {
"autocomplete": {
"type": "edge_ngram",
"min_gram": 2,
"max_gram": 10,
"token_chars": [
"letter"
]
}
}
}
}发布于 2017-02-28 16:21:20
我相信你可以的,是的。只需将其添加到第一个数组的旁边,不要创建一个数组,只需给它另一个名称(在我的示例中,我称之为"my_other_tokenizer"):
"settings": {
"analysis": {
"analyzer": {
"autocomplete": {
"tokenizer": "autocomplete",
"filter": [
"lowercase"
]
},
"autocomplete_search": {
"tokenizer": "lowercase"
}
},
"tokenizer": {
"autocomplete": {
"type": "edge_ngram",
"min_gram": 2,
"max_gram": 10,
"token_chars": [
"letter"
]
},
"my_other_tokenizer": {
"type": "kuromoji_tokenizer",
"mode": "extended",
"discard_punctuation": "false",
"user_dictionary": "userdict_ja.txt"
}
}
}
}然后,只需在分析器设置中使用它,就像对第一个令牌程序一样。
https://stackoverflow.com/questions/42513145
复制相似问题