Elasticsearch全文搜索

时间:2019-05-16 10:43:34

标签: elasticsearch full-text-search query-optimization

我正在尝试构建符合以下规则的Elasticsearch全文搜索查询。

  • 查询应在索引中的所有字段上运行搜索。
  • 结果应将查询中的所有单词作为单词或前缀。
  • 包含查询词的单词而不是前缀的结果在结果中应具有更高的优先级。

这是我现在用于搜索查询“ john doe”的内容,并且有效:

{
   "query":{
      "query_string":{
         "query":"(john AND doe) OR (john AND doe*) OR (john* AND doe) OR (john* AND doe*)",
         "fields":[
            "*",
            "firstName^2",
            "lastName^2"
         ],
         "lenient":true
      }
   }
}

我做对了还是有更好的方法呢?

0 个答案:

没有答案