Elasticsearch查询多字搜索建议

时间:2016-04-29 16:50:40

标签: elasticsearch match-phrase

我目前正在使用此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查询可供使用,以便我可以获得一些短语建议?

1 个答案:

答案 0 :(得分:0)

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

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