如何在OpenSearch中实现分类级别的模糊匹配
实现OpenSearch索引的条件过滤+模糊匹配查询
当然可以实现,不需要创建单独索引,你可以通过bool查询将条件过滤和模糊匹配逻辑组合起来:用term查询限定category为Specialty,再结合原有的multi_match模糊匹配规则,让两者同时生效即可。
完整的查询代码如下:
query = { 'size': 3, 'query': { 'bool': { 'must': [ { 'term': { 'category': 'Specialty' } }, { 'multi_match': { 'query': 'Accu', 'fields': ['name', 'category'], 'fuzziness': 'AUTO' } } ] } } }
代码说明:
bool.must:要求里面的所有查询条件必须同时满足,也就是先筛选出category=Specialty的文档,再对这些文档执行name和category的模糊匹配。term查询:精确匹配category字段的值,确保只处理目标分类的行。- 保留了你原有的
multi_match模糊匹配逻辑,保证查询行为和之前一致,但范围被限定在指定分类内。
内容的提问来源于stack exchange,提问作者BrownBatman
相关产品推荐
相关产品推荐

