是否有类似于在ElasticSearch中突出显示“terms”查询的内容?

时间:2017-11-24 17:09:47

标签: elasticsearch elasticsearch-5

假设我有一个代表标记资源的文档。

foreach(Button button in myGrid.Children){
    if(!button.Tag.StartsWith("myButton")) continue;
    button.Visibility = Visibility.Collapsed;
}

现在让我说我发出这样的查询:

{
    "name": "Foo",
    "tags": [1, 2, 3]
},
{
    "name": "Bar",
    "tags": [3, 4, 5]
}

我想知道它返回Foo,因为它标记有标记3和Bar,因为它标记为3和5.我知道它看起来很明显,但我正在建立一个非常复杂的查询,充满了过滤器,这一点很重要显示正确的突出显示,以便用户了解返回这些特定结果的原因。通过突出显示我正在执行全文搜索的字段,可以很容易地解决这个问题,但是在这样的{ "query": { "terms": { "tags": [3, 5] } } } 查询中它很复杂。

这个问题有解决办法吗?我甚至开始考虑以预定义的方式将标记ID存储为文本并在此字段上执行全文搜索,如下所示:

terms

然后执行搜索:

{
    "name": "Foo",
    "tags": "1 2 3"
},
{
    "name": "Bar",
    "tags": "3 4 5"
}

但我希望那里有一个更优雅的解决方案。有什么想法吗?

由于

0 个答案:

没有答案