【问题标题】:Is it possible to index all attributes without knowing exact structure beforehand in arangodb?是否可以在 arangodb 中事先不知道确切结构的情况下对所有属性进行索引?
【发布时间】:2019-10-29 21:26:58
【问题描述】:

我有一个像这样的简单文档的集合

{
key1:value,
key2:value2,
....
}

我想分别索引所有键。

但是当前的 arangodb UI 只提供了一个以逗号分隔的属性列表,例如。 [key1,key2] 作为输入。所以我必须事先定义这些属性

有没有类似 * 的东西告诉 arango 索引所有属性。

【问题讨论】:

    标签: arangodb


    【解决方案1】:

    标准索引不支持通配符来索引所有属性(索引定义中的多个路径将创建组合索引,而不是所有键的联合)。但是您可以创建一个 ArangoSearch 视图 并让它索引所有属性:

    {
      "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 选项进行索引。

    更多信息:https://www.arangodb.com/docs/stable/arangosearch.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-18
      • 1970-01-01
      • 2021-10-27
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      相关资源
      最近更新 更多