gpt4 book ai didi

java - TitanDB 定义和使用索引

转载 作者:行者123 更新时间:2023-12-01 18:09:48 31 4
gpt4 key购买 nike

使用this 。我正在构建以下索引:

TitanManagement management = graph.openManagement();

PropertyKey key = management.makePropertyKey("ITEM_IDENTIFIER").dataType(String.class).make();

management.buildIndex("byItemIdentifier", Vertex.class).addKey(key).buildCompositeIndex();

management.commit();

但是当我运行以下查询时:

graph.traversal().V().has("ITEM_IDENTIFIER", "Test");

我仍然收到警告:

Query requires iterating over all vertices [(ITEM_IDENTIFIER = Test)]. For better performance, use indexes

如何让 TitanDB 使用索引来加快查找速度?

最佳答案

所以我设法解决了这个问题。感谢this answer提供更多信息。

问题是我假设我会使用 CompositeIndex 但在更仔细地阅读 Chapter 20 之后, Chapter 22 ,和 Chapter 28其实我错了。基于 String 的索引需要 MixedIndex

为了让 MisedIndexes 处理字符串,我必须首先安装 Elasticsearch启用基于String的索引。然后我可以通过替换来配置我的索引:

management.buildIndex("byItemIdentifier", Vertex.class).addKey(key).buildCompositeIndex();

management.buildIndex("byItemIdentifier", Vertex.class).addKey(key, Mapping.STRING.asParameter()).buildMixedIndex("search");

执行此操作后,警告消失了。我将进行更多测试以确认这是否有效,但目前这似乎已经解决了我的问题。

关于java - TitanDB 定义和使用索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33902817/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com