假设我有一个产品目录在Elasticsearch中编入索引的场景。索引映射有许多字段:品牌,名称,类别,颜色,描述。
鉴于搜索文本“三星智能手机黑”,我想知道每个术语匹配字段与匹配数。
我想回到这样的事情:
samsung = brand (500), description (600)
smartphone = category (2300), name (356), description (900)
black = name (167), color (1245), description (800)
是否有任何ES查询来获取此信息?
答案 0 :(得分:0)
通过多个字段匹配的查询可以使用Multi Match Query完成,但据我所知,任何查询都不提供您要查找的响应类型。
此外,在您的应用程序逻辑级别执行此类工作听起来并不高效(从它的全文搜索开始,因此它更加困难)。
也许你可以在每个目标字段中单独进行匹配查询,然后比较结果。