此查询如何知道要处理的索引和文档类型?我似乎无法看到对索引或类型的任何引用。
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>"
}
}
}
}
}
答案 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'