添加另一个选项,您还可以使用edge n-gram tokenizer,它在大多数情况下都可以使用,它易于设置和使用。
关于您的数据的工作示例
索引定义
{
"settings": {
"analysis": {
"filter": {
"autocomplete_filter": {
"type": "ngram",
"min_gram": 1,
"max_gram": 10
}
},
"analyzer": {
"autocomplete": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"autocomplete_filter"
]
}
}
},
"index.max_ngram_diff" : 10
},
"mappings": {
"properties": {
"title": {
"type": "text",
"analyzer": "autocomplete",
"search_analyzer": "standard"
}
}
}
}
索引示例文档
{
"title" : "DeliBites"
}
搜索查询
{
"query": {
"match": {
"title": {
"query": "Deli Bites"
}
}
}
}
以及搜索结果
"hits": [
{
"_index": "65489013",
"_type": "_doc",
"_id": "1",
"_score": 0.95894027,
"_source": {
"title": "DeliBites"
}
}
]