簡體   English   中英

彈性搜索中的自定義高光

[英]Custom highlights in elastic search

我是彈性搜索的新手。 我有一個任務,我必須突出顯示具有特定標簽的某些查詢。

我正在使用彈性搜索間隔中提到的類似查詢。 現在的問題是我必須用html標簽突出“我最喜歡的食物”,說“最喜歡的”和帶有不同html標簽的冷粥/熱水,說“狀態”。

我怎么能這樣做

POST _search
{
  "query": {
    "intervals" : {
      "my_text" : {
        "all_of" : {
          "ordered" : true,
          "intervals" : [
            {
              "match" : {
                "query" : "my favourite food",
                "max_gaps" : 0,
                "ordered" : true
              }
            },
            {
              "any_of" : {
                "intervals" : [
                  { "match" : { "query" : "hot water" } },
                  { "match" : { "query" : "cold porridge" } }
                ]
              }
            }
          ]
        },
        "boost" : 2.0,
        "_name" : "favourite_food"
      }
    }
  }
}

您可以使用Elasticsearch中的突出顯示功能,如下所示:

GET /index_name/_search
{
  "query": {},
  "highlight": {
    "fields": {
      "content": {
        "type": "unified",
        "number_of_fragments": 0,
        "pre_tags": [
          "<first_filter>",
          "<second_filter>",
          "<third filter>"
        ],
        "post_tags": [
          "<first_filter>",
          "<second_filter>",
          "<third filter>"
        ]
      }
    }
  }
}

應用標記的順序取決於應用過濾器的順序。 另請注意,應用number_of_fragments:0返回帶有標記匹配的整個內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM