elasticsearch 多嵌套树与Elasicsearch
我在MySQL数据库中有一些产品和类别 每种产品都按n类列出。 所有类别都列在树中,因此每个类别在第一级之前都有一个父类别 现在我正在寻找最好的弹性索引结构来查询我的产品,并按类别和子类别进行过滤 我在网上搜索了几天,但是找不到一个好的解决方案。也许这里有人能帮我或给我一个提示
elasticsearch 多嵌套树与Elasicsearch,
elasticsearch,
elasticsearch,我在MySQL数据库中有一些产品和类别 每种产品都按n类列出。 所有类别都列在树中,因此每个类别在第一级之前都有一个父类别 现在我正在寻找最好的弹性索引结构来查询我的产品,并按类别和子类别进行过滤 我在网上搜索了几天,但是找不到一个好的解决方案。也许这里有人能帮我或给我一个提示 提前谢谢 我建议使用聚合的文档,elasticsearch是面向NoSql文档的。 您可以有如下结构: curl -XPOST "http://192.168.99.100:9200/shop/products" -d'
提前谢谢 我建议使用聚合的文档,elasticsearch是面向NoSql文档的。 您可以有如下结构:
curl -XPOST "http://192.168.99.100:9200/shop/products" -d'
{
"name": "White shoes",
"sizes": [
40,
41,
42
],
"info": "bla bla bla",
"categories": [
{
"name": "Social Shoes",
"parentCat": {
"name": "Social"
}
},
{
"name": "Winter Shoes",
"parentCat": {
"name": "Winter 2016"
}
}
]
}'
使用此结构的示例查询,让我们假设我需要一个与父类别Social有关系的产品,该类别称为Social Shoes
curl -XPOST "http://192.168.99.100:9200/shop/products/_search" -d'
{
"query": {
"nested": {
"path": "categories",
"query": {
"bool": {
"must": [
{
"match": {
"categories.id": 1
}
},
{
"nested": {
"path": "categories.parentCat",
"query": {
"bool": {
"must": [
{
"match": {
"categories.parentCat.id": 1
}
}
]
}
}
}
}
]
}
}
}
}
}'