我想创建有关如何根据标记完成术语的建议,类似于 google 之类的自动完成功能,但仅使用一个标记或单词。
我想搜索将被标记化的文件名。例如,“BRAND_Connect_A1233.jpg”被标记为“brand”、“connect”、“a1234”和“jpg”。
现在我想问一些建议,例如“ Con ”。该建议应提供完整的匹配标记,而不是完整的文件名:
“A12”的建议应该是“A1234”、“A1233”、“A1233”……
使用查询、构面和过滤器工作正常。
首先,我创建了一个包含分词器和过滤器的映射:
curl -XPUT 'localhost:9200/files/?pretty=1' -d '
{
"settings" : {
"analysis" : {
"analyzer" : {
"filename_search" : {
"tokenizer" : "filename",
"filter" : ["lowercase"]
},
"filename_index" : {
"tokenizer" : "filename",
"filter" : ["lowercase","edge_ngram"]
}
},
"tokenizer" : {
"filename" : {
"pattern" : "[^[;_\\.\\/]\\d]+",
"type" : "pattern"
}
},
"filter" : {
"edge_ngram" : {
"side" : "front",
"max_gram" : 20,
"min_gram" : 2, …Run Code Online (Sandbox Code Playgroud)