簡體   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