0

我正在尝试将标题字段作为弹性搜索中的文本完成类型。

如下所示

PUT playlist
{
  "settings": {
    "number_of_shards": 2,
    "number_of_replicas": 2,
    "analysis": {
      "filter": {
        "custom_english_stemmer": {
          "type": "stemmer",
          "name": "english"
        },
        "english_stop": {
          "type": "stop",
          "stopwords": "_english_"
        }
      },
      "analyzer": {
        "custom_lowercase_analyzer": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "english_stop",
            "custom_english_stemmer"
          ]
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "id": {
        "type": "long",
        "index": false,
        "doc_values": false
      },
      "title": {
        "type": "text",
        "analyzer": "custom_lowercase_analyzer",
        "fields": {
          "raw": {
            "type": "completion"
          }
        }
      }
    }
  }
}

以下建议查询有效

POST media/_search
{
  "_source": ["id", "title"], 
  "suggest": {
    "job-suggest": {
      "prefix": "sri",
      "completion": {
        "field": "title"
      }
    }
  }
}

正常搜索会在同一个标​​题上失败

GET media/_search
{
    "_source": ["id", "title"], 
    "query" : {
        "query_string": {
           "query" : "*sri*",
            "fields" : [
              "title"
            ]
        }
    }
}

请帮我解决这个问题

4

0 回答 0