【发布时间】:2015-05-07 17:25:21
【问题描述】:
我正在尝试使用其他索引上的文档作为搜索字符串的来源进行“术语”查询。但是我没有得到任何点击。
-- 索引 id 为 2 的用户的信息,特别是其关注者
curl -XPUT localhost:9200/users/user/2 -d '{
"followers" : ["1", "3"]
}'
-- 索引来自 id 为 2 的用户的推文
curl -XPUT localhost:9200/tweets/tweet/1 -d '{
"user" : "2"
}'
--搜索与用户2的关注者匹配的所有推文
curl -XGET localhost:9200/tweets/_search -d '{
"query" : {
"filtered" : {
"filter" : {
"terms" : {
"user" : {
"index" : "users",
"type" : "user",
"id" : "2",
"path" : "followers"
},
"_cache_key" : "user_2_friends"
}
}
}
}
}'
结果:0 次点击。
但是,如果我将查询更改为:
{
"query" : {
"filtered" : {
"filter" : {
"terms" : {
"user" : [2]
}
}
}
}
}'
上面的查询给了我 1 次命中,这意味着外部搜索查询存在问题。
详情: http://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-filter.html
我用的是ES版本:1.5.2也试过1.4的查询。
有什么建议吗?
【问题讨论】:
标签: elasticsearch