Database 弹性5.5中的镶嵌面
我正在尝试使用elastic 5.5(使用elastic 2.*我找到了有关如何进行搜索的信息,但在5.5中我找不到) 如果用户选择使用某个属性进行筛选,我希望显示金额的提示,这不是什么不寻常的、类似于存储的项目 数据集示例:Database 弹性5.5中的镶嵌面,database,
elasticsearch,facet,Database,
elasticsearch,Facet,我正在尝试使用elastic 5.5(使用elastic 2.*我找到了有关如何进行搜索的信息,但在5.5中我找不到) 如果用户选择使用某个属性进行筛选,我希望显示金额的提示,这不是什么不寻常的、类似于存储的项目 数据集示例: [ { "id" : "978-0641723445", "cat" : ["book","hardcover"], "name" : "The Lightning Thief", "author" : "Rick Riordan",
[
{
"id" : "978-0641723445",
"cat" : ["book","hardcover"],
"name" : "The Lightning Thief",
"author" : "Rick Riordan",
"series_t" : "Percy Jackson and the Olympians",
"sequence_i" : 1,
"genre_s" : "fantasy",
"inStock" : true,
"price" : 12.50,
"pages_i" : 384
}
,
{
"id" : "978-1423103349",
"cat" : ["book","paperback"],
"name" : "The Sea of Monsters",
"author" : "Rick Riordan",
"series_t" : "Percy Jackson and the Olympians",
"sequence_i" : 2,
"genre_s" : "fantasy",
"inStock" : true,
"price" : 6.49,
"pages_i" : 304
}
,
{
"id" : "978-1857995879",
"cat" : ["book","paperback"],
"name" : "Sophie's World : The Greek Philosophers",
"author" : "Jostein Gaarder",
"sequence_i" : 1,
"genre_s" : "fantasy",
"inStock" : true,
"price" : 3.07,
"pages_i" : 64
}
,
{
"id" : "978-1933988177",
"cat" : ["book","paperback"],
"name" : "Lucene in Action, Second Edition",
"author" : "Michael McCandless",
"sequence_i" : 1,
"genre_s" : "IT",
"inStock" : true,
"price" : 30.50,
"pages_i" : 475
}
]
谢谢 您只需使用AGG而不是facet。聚合比方面更强大 例如:
GET index/_search
{
"aggs" : {
"countries" : {
"terms" : { "field" : "country" }
},
"types" : {
"terms" : { "field" : "type" }
}
}
}
然后,如果用户单击一个“方面”,只需在bool查询中添加一个筛选子句(这将更新所有方面计数)或添加一个post_筛选器,只需筛选结果(不影响聚合)。如果列是文本,则需要使用“.keyword”来处理有许多单词的国家名称(“萨尔瓦多”,“美利坚合众国”等)
你在搜索这个吗?不,我的群集已启动并运行。我只想进行聚合。然后你在搜索这个吗?我找不到任何好的exmaple for aggs,它分别聚合在两个字段上(例如,我想按国家和类型统计结果)
GET index/_search
{
"aggs" : {
"countries" : {
"terms" : { "field" : "country.keyword" }
}
}
}