是否可以在 arangodb 中事先不知道确切结构的情况下索引所有属性?
Is it possible to index all attributes without knowing exact structure beforehand in arangodb?
我有一个像这样的简单文档集合
{
key1:value,
key2:value2,
....
}
我想分别索引 所有 个键。
但是目前的arangodb UI只提供了一个用逗号分隔的属性列表,例如。 [key1,key2]
作为输入。所以我必须事先定义这些属性
有没有类似*的东西告诉arango索引所有属性。
标准索引不支持通配符对所有属性进行索引(索引定义中的多个路径将创建组合索引,而不是所有键的并集)。但是你可以创建一个 ArangoSearch View 并让它索引所有属性:
{
"type": "arangosearch",
"links": {
"coll": {
"analyzers": [
"identity"
],
"includeAllFields": true
}
}
}
然后将一些文档添加到集合中coll
:
{"foo": 1}
{"bar": 2}
{"baz": {"nested": 3} }
最后查询View(这里叫someView
),使用默认的identity
Analyzer:
FOR doc IN someView
SEARCH doc.baz.nested == 3
RETURN doc
如您所见,所有属性(包括嵌套属性)都通过在顶层使用 includeAllFields
选项进行索引。
我有一个像这样的简单文档集合
{
key1:value,
key2:value2,
....
}
我想分别索引 所有 个键。
但是目前的arangodb UI只提供了一个用逗号分隔的属性列表,例如。 [key1,key2]
作为输入。所以我必须事先定义这些属性
有没有类似*的东西告诉arango索引所有属性。
标准索引不支持通配符对所有属性进行索引(索引定义中的多个路径将创建组合索引,而不是所有键的并集)。但是你可以创建一个 ArangoSearch View 并让它索引所有属性:
{
"type": "arangosearch",
"links": {
"coll": {
"analyzers": [
"identity"
],
"includeAllFields": true
}
}
}
然后将一些文档添加到集合中coll
:
{"foo": 1}
{"bar": 2}
{"baz": {"nested": 3} }
最后查询View(这里叫someView
),使用默认的identity
Analyzer:
FOR doc IN someView
SEARCH doc.baz.nested == 3
RETURN doc
如您所见,所有属性(包括嵌套属性)都通过在顶层使用 includeAllFields
选项进行索引。