我准备查询对象并在elasticsearch中搜索。
为了制作查询对象,我给出了密钥及其值。
问题是,当关键和价值如同"品牌":"男士服装"那么在这种情况下,elasticsearch无法给我相关的文档。我认为问题是用逗号或可能是空格。一切都很好,如果我使用其他json属性的键和值(没有空格和逗号像"优先":"高")
请帮忙!
更新
没有匹配查询仍无效!我在创建搜索查询时发现的另一个问题。我正在使用的查询是:
var qryObj1 = {
"query" : {
"text" : {"name":"Tom"}
}
};
这将返回名为Tom的所有文档。现在我希望所有的文档都有名称汤姆和专业是开发人员。所以,这里修改了一个:
qryObj1 = {
"query" : {
"text" : {"name":"Tom","profession":"developer"}
},"operator" : "and"
};
但搜索结果是旧的。任何帮助!
答案 0 :(得分:1)
答案 1 :(得分:1)
您需要使用布尔查询 http://www.elasticsearch.org/guide/reference/query-dsl/bool-query.html
在这里,您可以要求ES采取各种查询的AND或OR
"bool" : {
"must" : [
"text" : {"name":"Tom"},
"text" : {"profession":"developer"}
]
}