【发布时间】:2015-09-30 10:11:26
【问题描述】:
您好,我有以下对象:
{
type:'foo'
users: [{id: MyId roles:['Admin','FooAdmin']},
{id: MyId2 roles:['Admin']}]
}
我使用 bool 查询通过用户 ID 获取这些对象。使用以下术语:
'term': {
'users.id': 'myId'
}
它运行良好,除非 id 中包含大写字母。我搜索了一下,发现匹配查询作为替代:
{
"query":
{
"match":
{
"users.userId":token._source.userId
}
}
}
到目前为止,它对我来说效果很好,因为它区分大小写。但最近我听说匹配查询只能获得“最佳结果”,这意味着只能获得最高分的结果。这是真的?我是否冒着无法通过匹配查询获得所有我想要的对象的风险?
【问题讨论】:
-
您希望获得完全 id
MyId即类似于WHERE MyId2 = 'myId'的SQL WHERE 子句的对象?