如我所知,我们可以控制突出显示的片段的大小。
但是我想控制特定字段结果的大小。

例如)
我可以使用fragment_sizenumber_of_fragments来控制突出显示的大小。

highlight: {
    "CONTEXT": [
        "I am leaving today.I want to be a part of it New York, New York These <b>vagabond</b> shoes They are"
    ]
}

但是我想要这样的结果;

fields: {
    "CONTEXT": [
        "I am leaving today.I want to be a part of it New York, New York These vagabond shoes They are longing to stray Right through the very heart of it New York, New York ..."
    ],
    "TITLE": [
         "new york new york"
    ]
},

因为,有时此上下文字段太长,无法显示结果网页。
因此,我想控制大小CONTEXT字段的结果。

最佳答案

您可以执行以下操作,但我建议您是否可以在客户端执行此操作。

{
  "settings": {
    "analysis": {
      "filter": {
        "truncate_filter": {
          "type": "truncate",
          "length": 20
        }
      },
      "analyzer": {
        "my_truncate_analyzer": {
          "type": "custom",
          "tokenizer": "keyword",
          "filter": [
            "truncate_filter"
          ]
        }
      }
    }
  },
  "mappings": {
    "test": {
      "properties": {
        "context": {
          "type": "string",
          "fields": {
            "truncated": {
              "type": "string",
              "analyzer": "my_truncate_analyzer"
            }
          }
        }
      }
    }
  }
}

在查询中,您需要添加fielddata_fields才能看到被截断的字段:
{
  "query": {
    ...
  },
  "fielddata_fields": ["context.truncated"]
}

07-24 09:39
查看更多