这是两个查询。 第一:
{
"query": {
"filtered": {
"query": {
"query_string": {
"query": "27444.2",
"default_field": "text"
}
}
}
},
"from": 0,
"size": 50
}
第二
{
"query": {
"filtered": {
"query": {
"query_string": {
"query": "27444.2"
}
}
}
},
"fields": ["text"],
"from": 0,
"size": 50
}
它们之间的唯一区别在于,首先我使用default_field指定要搜索的字段,然后在第二个i中通过字段param指定它。字段名称相同。 我希望两种变体都能产生相同的结果,但事实并非如此。第一个变量不返回任何结果,第二个变量返回结果。那么我在这里做错了什么?捕获在哪里
elasticsearch 1.4.2
答案 0 :(得分:1)
你给出字段参数的方式是错误的。 在第二种情况下,您指的是限制结果的field params in the query,以便仅显示某些字段而不是整个_source
以下是您正在寻找的 -
{
"query": {
"filtered": {
"query": {
"query_string": {
"query": "27444.2",
"fields": ["text"]
}
}
}
},
"from": 0,
"size": 50
}
答案 1 :(得分:1)
2个查询不一样。 首先搜索字段' text'并且第二次搜索所有字段并作为响应,仅返回'字段'。