当前位置:  开发笔记 > 前端 > 正文

ElasticSearch:如何在一个或多个索引中的所有类型的任何字段中搜索值?

如何解决《ElasticSearch:如何在一个或多个索引中的所有类型的任何字段中搜索值?》经验,为你挑选了1个好方法。

我有两个指数my_index_1my_index_2.在这些索引中,我有以下文档类型:

my_index_1:

组织

角色

技能

my_index_2:

制品

服务

专利

商标

服务标志

每种类型都有不同的字段.

我的问题: 在任何一个甚至两个索引中,在任何类型的任何字段中查询字符串"abc"的最佳方法是什么?

我没有在文档中看到任何有助于这种搜索的内容.有什么东西可能看起来像:

$ curl -XPOST 'localhost:9200/_search?pretty' -d '
{
  "query": { "match": { *: "abc" } }
}'

在此先感谢您提供的任何帮助.



1> Val..:

无论是query_string查询或match查询将是你在找什么.

query_string如果没有指定,将使用特殊_all字段default_field,这样可以很好地工作.

curl -XPOST 'localhost:9200/_search?pretty' -d '{
  "query": { "query_string": { "query": "abc" } }
}'

而随着match你可以指定_all为好.

curl -XPOST 'localhost:9200/_search?pretty' -d '{
  "query": { "match": { "_all": "abc" } }
}'

请注意,query_string您可以使用通配符,但不能使用通配符match


请注意,在6.0.0版中不推荐使用_all [请参见此处](https://www.elastic.co/guide/zh-CN/elasticsearch/reference/current/mapping-all-field.html)
推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有