我正在使用动态构造的多个术语执行elasticsearch查询,因此看起来如下所示:
...
must: [
{ terms: { tags_slug: ['term_a', 'term_b'] } },
...
]
...
一切都很好,但我想给每个结果加上匹配的术语,例如,如果结果1匹配 term_a
,我想从现在的结果中得到这个术语,比如:
Model.search(...).results[0].matched_term # => 'term_a'
Model.search(...).results[1].matched_term # => 'term_b'
举个例子,elasticsearch有没有可能做到这一点?我可以用ruby来Map结果,但也许还有另一种方法。
1条答案
按热度按时间iyfjxgzm1#
在目前的星座下,没有。但是自从
terms
查询实际上是一堆布尔值我们可以利用命名查询,例如:顺从的