【发布时间】:2021-12-13 19:32:56
【问题描述】:
我有一个带有标准分析器的弹性搜索集群。我知道使用此分析器会分析术语“300”作为一种类型。
假设我正在搜索包含字段“名称”且值为“Paper towel 300 CT”的文档 解析为["paper"(ALPHANUM), "towel"(ALPHANUM), "300"(NUM), "ct"(ALPHANUM)]
目前,当我使用这样的模糊/通配符查询时:
"query":
{
"bool":{
"must":[
{
"bool":{
"should":[
{
"fuzzy":{
"ec_item_name":{
"value":"300CT"
}
}
},
{
"wildcard":{
"ec_item_name":{
"value":"3*0*0*C*T*"
}
}
}
],
"minimum_should_match": 1
}
}
]
}
}
无论如何调整模糊性,模糊查询都不匹配。我希望“300CT”一词与“300”相匹配。在“300CT”上匹配“300”也是如此。是否有分析器或实现自定义分析器的方法,以便分析所有术语以支持这种类型的搜索?我在查找有关此类行为的文档时遇到了一些麻烦。
【问题讨论】:
标签: elasticsearch full-text-search elasticsearch-query