使用固定参数在每个字段中搜索

时间:2017-03-06 19:28:54

标签: elasticsearch

也许这是一个基本问题;顺便说一下,我需要搜索每个索引字段并为另一个字段设置特定的固定值。 我该怎么办?

目前我有一个简单的:query( "aValue", array_of_models )

我尝试了许多选项但没有成功,例如:

query({
  "query": {
    "bool": {
      "query": "aValue",
      "filter": {
        "term": {
          "published": "true"
        }
      }
    }
  }
})

我宁愿避免指定要搜索的字段,因为我对不同的模型使用相同的搜索参数。

2 个答案:

答案 0 :(得分:1)

我找到了一个解决方案,也许它没有经过优化但可以工作:

{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "_all": "aValue"
          }
        }
      ],
      "filter": {
        "term": {
          "published": true
        }
      }
    }
  }
}

答案 1 :(得分:0)

不确定我是否理解你的意图。

_all 字段默认启用。因此,如果您没有特殊映射,则每个索引字段将作为文本字符串添加到 _all 字段。

您可以使用

通过这样的简单查询,这应该适合您。

GET my_index/_search
{
  "query": {
    "simple_query_string": {
      "query": "aValue",
      "fields": []
    }
  }
}

两种查询类型都包含参数,这些参数应该足以满足您的用例恕我直言。