你需要使用shingle token filter
构造带状疱疹的类型为 shingle 的令牌过滤器(令牌
n-grams) 来自令牌流。换句话说,它创建了组合
令牌作为单个令牌。例如,句子“请除
这句话变成 shingles" 可能被标记为 shingles "please
分割”、“分割这个”、“这句话”、“句子成”、“成
带状疱疹”。
映射
PUT index91
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "standard",
"filter": [
"lowercase",
"shingle_filter"
]
}
},
"filter": {
"shingle_filter": {
"type": "shingle",
"min_shingle_size": 2,
"max_shingle_size": 3,
"output_unigrams": true,
"token_separator": ""
}
}
}
},
"mappings": {
"properties": {
"title": {
"type": "text",
"analyzer": "my_analyzer"
}
}
}
}
数据:
POST index91/_doc
{
"title":"corona virus"
}
查询:
GET index91/_search
{
"query": {
"match": {
"title": "coronavirus"
}
}
}
结果:
"hits" : [
{
"_index" : "index91",
"_type" : "_doc",
"_id" : "gNmUZHEBrJsHVOidaoU_",
"_score" : 0.9438393,
"_source" : {
"title" : "corona virus"
}
}
它也适用于“电晕”、“冠状病毒”、“病毒”