【发布时间】:2021-01-22 17:35:24
【问题描述】:
我正在使用动态构建的多个术语进行 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,但也许还有另一种方法。
【问题讨论】:
标签: ruby-on-rails elasticsearch elasticsearch-rails