您好如何在示例文档所在的数组字段上创建索引
{
"name": [ {
"family": "Smith",
"given": [
"Kam"
],
"prefix": [
"Mrs."
],
"use": "official"
},
{
"family": "Johns",
"given": [
"Kam"
],
"use": "maiden"
}
]
}
我想在家庭和给定字段上写一个搜索查询(如)...如何创建索引和建议查询..我不是沙发床
答案 0 :(得分:1)
此查询选择姓氏为“ Smith”,名称为“ Kam”的客户:
select * from customer
where any n in name satisfies n.family = 'Smith' and
any fn in n.given satisfies fn = 'Kam' end end
请注意,由于在数据中使用了嵌套数组,因此使用了嵌套ANY子句。
然后您可以像这样在姓氏上创建索引:
CREATE INDEX customer_name ON customer
( DISTINCT ARRAY n.family FOR n IN name END)
使用索引时没有任何提示。通过将EXPLAIN添加到查询的开头,您可以看到它正在被使用。这将为您提供一个包含索引扫描运算符的JSON查询计划。
您可以在此处了解有关数组索引的更多信息: https://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/indexing-arrays.html