【问题标题】:ElasticSearch span search over multiple Index over all fieldsElasticSearch 在所有字段的多个索引上进行跨度搜索
【发布时间】:2015-04-13 10:31:23
【问题描述】:

我正在开发一个查询 ElasticSearch 1.4 的用户界面 (HTML + JavaScript) 现在搜索使用以下 URL 跨越多个索引: http://localhost:9200/_all/_search 但为了查询所有字段,我必须在 POST 请求中发送以下 JSON: 格式化的 JSON 数据

{  
   "query":{  
      "multi_match":{  
         "query":"monitor",
         "type":"most_fields",
         "fields":[  
            "First Name",
            "Last Name",
            "ProductName",
            "Organization",
            "Description"
         ]
      }
   },
   "highlight":{  
      "fields":{  
         "*":{  

         }
      }
   }
}

问题出现是因为我不想指定搜索字段。我想要求 ElasticSearch 搜索所有文档的所有可用字段。 这可能吗?

【问题讨论】:

  • 你试过"fields":[ "*" ]吗?
  • 当然,它会说 Parse Failure [Failed to parse source ...
  • 匹配_all 怎么样?还是禁用它?

标签: javascript json elasticsearch


【解决方案1】:

个人不建议在未明确指定索引和字段列表的情况下对所有索引和字段运行查询,因为这可能会对集群性能产生不利影响。

但是,如果您需要,可以尝试使用query_string 查询:

例子:

  "query": {
        "query_string": {
           "fields": ["*"],
           "query": "monitor",
           "lenient":true,
           "use_dis_max" : false           
        }
 }

【讨论】:

  • 嗨,keety,我知道,但我们正在对我们的存储库构建类似 Google 的搜索,我们不关心性能,而是关心结果您的解决方案正是我想要的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-20
  • 1970-01-01
  • 2019-01-12
  • 2021-11-05
  • 2018-12-22
相关资源
最近更新 更多