我有2个条目

  • Rahim
  • Rahima

  • 当我使用带有通配符的query_string搜索“Rahim”时,我得到了2个相同分数的整体。但是,由于“Rahim”正好匹配,对我来说,首先拥有较高分数的“Rahim”,然后拥有较低分数的“Rahima”对我来说将是很棒的。查询是:
    GET index/type/_search
    {
      "query": {
        "query_string": {
          "default_field": "fullNameEn",
          "allow_leading_wildcard": false,
          "analyze_wildcard": true,
          "query": "Rahim*"
        }
      },
      "from": 0,
      "size": 10
    }
    

    任何帮助将不胜感激。

    最佳答案

    在查询字符串中使用术语提升

    GET index/type/_search
    {
      "query": {
        "query_string": {
          "default_field": "fullNameEn",
          "allow_leading_wildcard": false,
          "analyze_wildcard": true,
          "query": "Rahim^2 OR Rahim*"
        }
      },
      "from": 0,
      "size": 10
    }
    

    10-04 10:42