我正在尝试匹配文本字段。我期待的结果,如果它有60%加上匹配。
利用模糊性,我们可以给出仅2距离。有了这个Elastic与描述‘事件食品饮料’的记录,我试图匹配‘Elastic 123’,这是不匹配的。
事件食品matches =‘matches 12’>比赛
这些事件Doesn=‘>不匹配
‘321事件食品饮料Doesn=’>不匹配
我想要弹性来匹配“事件-食物饮料”
任何需要超过2个步骤的更改都与不匹配
发布于 2018-12-06 14:06:10
我认为模糊的疑问不适合你的情况。模糊性是解决人类在输入查询时可能出现的拼写错误问题的一种方法。人类大脑可以很容易地跳过单词中间某个字母的替换,而不会失去词组的整体意义。我们期待搜索引擎的类似行为。
试着使用常规的部分加工与ngram分析器:
PUT my_index
{
"settings": {
"analysis": {
"filter": {
"trigrams_filter": {
"type": "ngram",
"min_gram": 3,
"max_gram": 3
}
},
"analyzer": {
"trigrams": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"trigrams_filter"
]
}
}
}
},
"mappings": {
"my_type": {
"properties": {
"my_field": {
"type": "text",
"analyzer": "trigrams"
}
}
}
}
}
GET my_index/my_type/_search
{
"query": {
"match": {
"my_field": {
"query": "eventsfooddrinks",
"minimum_should_match": "60%"
}
}
}
}https://stackoverflow.com/questions/53652482
复制相似问题