【发布时间】:2013-10-26 08:55:52
【问题描述】:
我在筛选 Elastic Search 列表中的字段时遇到问题。我正在索引简单的 JSON 对象以进行搜索和过滤。
被索引的示例对象是:
{
"id" : 1,
"name" : "My Inventory",
"description" : "This is a piece of inventory.",
"sizes" : [ "big", "small" ],
"geos" : [ { "country" : "US", "fullName" : "United States" } ]
}
我可以很容易地按 id、名称、描述和大小进行过滤,但是在尝试按地理位置进行过滤时,我遇到了障碍。下面是我尝试使用的过滤器。我将不胜感激任何让我朝着正确方向前进的指针。谢谢!
curl -XPOST 'localhost:9200/stuff/inventory/_search?pretty=true' -d '
{
"fields" : [ "name" ],
"filter" : {
"terms" : { "geos.country" : [ "US" ] }
}
}
'
【问题讨论】:
-
你得到了什么?如果问题是您得到 0 个结果,那可能是因为您索引小写?试试“我们”。或者,如果您使用默认映射“我们”是一个停用词,因此它根本不会被索引。
-
@javanna 你是对的。我只是对除我正在排序的字段之外的所有字段使用默认索引,但使用小写字母有效。
标签: list search filter elasticsearch