繁体   English   中英

Elasticsearch汇总字段上的突出问题

[英]Elasticsearch Highlight issue on aggregated fields

我正在使用ElasticSearch,并想在搜索查询的聚合结果上获得突出显示的字段。

我不想获得搜索查询的结果,因此我将size保持为0 ,这仅给了我聚合的结果。

现在,我想对汇总结果应用荧光笔,但这不起作用。 我正在使用术语聚合器和热门搜索聚合器作为子聚合器。 他们在ES文档中提到了热门聚合器支持突出显示。

我的查询结构如下:

{
    size:0,
    query:{
        .......
    },
    aggregation:{
        name-of-agg:{
            term:{
                ....
            },
            aggregation:{
                name-of-sub-agg:{
                    top-hits:{
                        ....
                    }
                }
            }
        },
        highlight:{
            fields:{
                fieldname:{

                }
            }
        }
    }
}

你必须设置的highlight 内部 top_hits聚集性(不是内部的aggregation )。

这是一个最小的工作示例:

echo create index
curl -XPUT 'http://127.0.0.1:9010/files?pretty=1' -d '
{
  "settings": {
  }
}'
echo create type
curl -XPUT 'http://127.0.0.1:9010/files/_mapping/file?pretty=1' -d'
{
  "properties":{
    "fileName":{
      "type":"string",
      "term_vector":"with_positions_offsets"
    }
  }
}
'
echo insert files
curl -XPUT 'http://127.0.0.1:9010/files/file/1?pretty=1' -d'
{
  "fileName":"quick brown fox"
}
'
echo flush
curl -XPOST 'http://127.0.0.1:9010/files/_flush?pretty=1'
echo search brown tophits
curl -XGET 'http://127.0.0.1:9010/files/file/_search?pretty=1' -d '
{
  "size" : 0,
  "query":{
    "match":{
      "fileName":"brown"
    }
  },
  "aggregations" : {
    "docs" : {
      "top_hits" : {
        "highlight": {
          "fields": {
            "fileName": {}
          }
        }
      }
    }
  }
}'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM