【发布时间】:2015-06-24 21:17:32
【问题描述】:
所以我设置了以下数据集,以便我可以在存储多个值的字段上测试搜索:
post /test/participant
{
"Synonyms" : [ "foo" ]
}
post /test/participant
{
"Synonyms" : [ "bar" ]
}
post /test/participant
{
"Synonyms" : [ "foo", "bar" ]
}
我试图通过以下方式获取一些数据:
get /test/participant/_search
{
"query": {
"filtered": {
"filter": {
"term": { "Synonyms": "foo" }
}
}
}
}
我希望能取回第一条和第三条记录(请参阅上面的顺序)。但是,我继续取回所有记录。我已经尝试过对查询进行无休止的警告以尝试获得一些明智的东西(这里没有足够的空间来添加它们),而我继续获得的只是索引中的所有记录。有谁知道我将如何查询以取回那些以“foo”为值(第一个和第三个)的记录?我在这里遗漏了一些微妙的地方吗?我知道 ElasticSearch 不会将值存储为数组,而是存储为无序集合。
【问题讨论】:
标签: elasticsearch