【问题标题】:Elasticsearch query for multi-word search suggestions用于多词搜索建议的 Elasticsearch 查询
【发布时间】:2016-04-29 16:50:39
【问题描述】:

我目前正在使用这个 ES 查询来获取来自 ES 的搜索建议(使用边 n 克)

var terms = query.split(' '),
    baseTerms = terms.length === 1 ? '' : terms.slice(0, -1).join(' ') + ' ',
    lastTerm = terms[terms.length - 1].toLowerCase();

"query": {
      "simple_query_string": {
        "fields": ['title.autocomplete'], //title.basic
        "query": baseTerms + '(' + lastTerm + '|' + lastTerm + '*)',
        "default_operator": "and"
      }
    }

这有效,但仅适用于单个单词。当我输入字母时,会出现单个单词建议,但我正在尝试获取多单词建议,以空格分隔(短语建议)。是否有更好的 ES 查询可以使用,以便我获得一些短语建议?

【问题讨论】:

    标签: elasticsearch match-phrase


    【解决方案1】:

    使用match_phrase_prefix Query。它会为您获取短语建议:ES Query 就像:

     {
     "match_phrase_prefix" : {
        "message" : {
            "query" : "quick brown f"
         }
       }
     } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-04
      • 2016-08-25
      • 1970-01-01
      相关资源
      最近更新 更多