2种方法:
1.通配符搜索 - 简单而缓慢
"query": {
"query_string": {
"query": "*ing.com",
"default_field": "domain"
}
}
2. 使用 nGram 分词器 - 更难但更快
索引设置
"settings" : {
"analysis" : {
"analyzer" : {
"my_ngram_analyzer" : {
"tokenizer" : "my_ngram_tokenizer"
}
},
"tokenizer" : {
"my_ngram_tokenizer" : {
"type" : "nGram",
"min_gram" : "1",
"max_gram" : "50"
}
}
}
}
映射
"properties": {
"domain": {
"type": "string",
"index_analyzer": "my_ngram_analyzer"
},
"path": {
"type": "string",
"index_analyzer": "my_ngram_analyzer"
},
"query": {
"type": "string",
"index_analyzer": "my_ngram_analyzer"
}
}
查询
"query": {
"match": {
"domain": "ing.com"
}
}