短语建议者 - 采取行动的索引和查询

时间:2015-10-29 12:29:16

标签: elasticsearch

此查询如何知道要处理的索引和文档类型?我似乎无法看到对索引或类型的任何引用。

curl -XPOST 'localhost:9200/_search' -d {
  "suggest" : {
    "text" : "Xor the Got-Jewel",
    "simple_phrase" : {
      "phrase" : {
        "analyzer" : "body",
        "field" : "bigram",
        "size" : 1,
        "real_word_error_likelihood" : 0.95,
        "max_errors" : 0.5,
        "gram_size" : 2,
        "direct_generator" : [{
            "field" : "body",
            "suggest_mode" : "always",
            "min_word_length" : 1
          }
        ],
        "highlight" : {
          "pre_tag" : "<em>",
          "post_tag" : "</em>"
        }
      }
    }
  }
}

1 个答案:

答案 0 :(得分:1)

如果您未在搜索请求中指定索引,例如:

curl -XPOST 'localhost:9200/your_index/_search

它将针对所有可能的索引运行您的查询。

来自Search API文档:

  

所有搜索API都可以应用于索引中的多种类型,   并且支持多索引语法的多个索引。   例如,我们可以搜索所有类型的所有文档   twitter索引:

$ curl -XGET 'http://localhost:9200/twitter/_search?q=user:kimchy'
     

我们还可以在特定类型中搜索:

$ curl -XGET 'http://localhost:9200/twitter/tweet,user/_search?q=user:kimchy'
     

我们还可以使用特定标记搜索所有推文   索引(例如,当每个用户都有自己的索引时):

$ curl -XGET 'http://localhost:9200/kimchy,elasticsearch/tweet/_search?q=tag:wow'
     

或者我们可以使用_all搜索所有可用索引的所有推文   占位符:

$ curl -XGET 'http://localhost:9200/_all/tweet/_search?q=tag:wow'
     

甚至可以搜索所有索引和所有类型:

$ curl -XGET 'http://localhost:9200/_search?q=tag:wow'