在Elasticsearch中,很容易执行以下搜索请求,例如通过浏览器:
<protocol>://<address>:<port>/<index>/_search?q="search term"
这必须使用某种默认组合来匹配不同的索引字段。
通过搜索体地址搜索特定字段的常用示例.
对于上述类型的URL查询,正确的搜索主体是什么?
q=...
实际上相当于query_string
搜索。
所以.../index/_search?q="search term"
等于
GET index/_search
{
"query": {
"query_string": {
"query": "search term"
}
}
}
query_string
查询的参数之一是default_field
,如果不指定,则等于索引设置index.query.default_field
的值,该索引设置的默认值为*
(即所有字段)
如果你想限制搜索到一个特定的字段,那么你可以这样做:
GET index/_search
{
"query": {
"query_string": {
"query": "search term",
"default_field": "content"
}
}
}
这就相当于.../index/_search?q=content:"search term"