首页/数据/NoSQL 速查/query_string 与 simple_query_string
本包目录(322 条)
MongoDB99 条
Elasticsearch89 条
ClickHouse56 条时序与列式28 条选型与架构50 条

query_string 与 simple_query_string

query_string 支持 AND/OR、字段前缀、通配符等完整查询语法,一个字符串即可表达组合条件;语法错误会直接报错。simple_query_string 语法更宽松,遇到不支持的结构只忽略不会报错。

NoSQL 速查数据更新于 2026-10-12
query_string支持 field:value、AND/OR/NOT、通配、模糊等;请勿暴露给终端用户
simple_query_string支持 + | - " 等简化符号,容错性好,适合用户输入框
常用参数default_field / fields / default_operator / analyze_wildcard

示例

示例
GET /my-index/_search
{
  "query": {
    "query_string": {
      "query": "title:elastic AND (status:open OR status:pending)",
      "default_field": "content"
    }
  }
}

GET /my-index/_search
{
  "query": {
    "simple_query_string": {
      "query": "elastic +tutorial -outdated",
      "fields": ["title", "body"],
      "default_operator": "and"
    }
  }
}
query_string 可触发昂贵查询(前导通配、超大布尔),不要把它直接拼进对外的搜索接口。

易错点

  • 用户输入里的冒号、括号会被当成语法符号导致 400,开放接口应做转义或改用 match
  • default_field 默认是 *,在字段多的索引上会拖慢查询,显式指定字段更稳

数据来源与参考

  • Elasticsearch Guide: Query string query
  • Elasticsearch Guide: Simple query string query
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌