我一直在看Neo4J和Neo4J的客户。。
neo4jclient wiki帮助我处理节点crud操作。。然而,维基突然就此结束。。我翻遍了源代码中的测试方法,设法了解了关系,并在网上搜索以了解索引是如何工作的。
到目前为止,我大致了解到:
//create indexing on user and car
client.CreateIndex("User", new IndexConfiguration() { Provider = IndexProvider.lucene, Type = IndexType.fulltext }, IndexFor.Node);
client.CreateIndex("Car", new IndexConfiguration() { Provider = IndexProvider.lucene, Type = IndexType.fulltext }, IndexFor.Node);
//create user
client.Create(new User() { Name = "Dovakiin", Job = "Dragon Slayer" });
client.Create(new User() { Name = "Ulfric stormcloak", Job = "Imperial Slayer" });
//create Car
client.Create(new Car() { Name = "Paarthurnax", Modal = 212 });
//User owns car relationship
client.CreateRelationship(userRef, new Owns_CarRelationship(CarRef));
这就是我现在被困的地方。。当我尝试按名称查找用户时,密码查询返回的结果为零:
start u=node:User(Name="Dovakiin") return u;
我不太明白为什么它在清晰的时候返回零节点
start n=node(*) return n;
显示所有节点。
索引时我还遗漏了什么吗?或者这根本与指数无关?是否不需要将每个节点添加到索引中?
所有我试图做的,是选择具有给定属性的节点:Name="Dovakiin"
在这种情况下。.请问我如何选择这个?
您必须手动将节点添加到索引中,如
client.indexRef1.addToIndex(nodeRef,'name','Dovakiin')
client.indexRef2.addToIndex(nodeRef,'work','龙族屠夫')
neo4j中还有一个自动索引功能,以防您希望节点自动添加到索引中。
只是为了扩展ulkas的答案,如果您想启用自动索引,并且发现文档有点混乱(就像我第一次阅读它时所做的那样),这就是您设置它的方式。
假设您想要自动索引一些节点属性;说“姓名”和“工作”。打开/conf/neo4j。属性文件,您应该看到如下内容:
# Autoindexing
# Enable auto-indexing for nodes, default is false
#node_auto_indexing=true
# The node property keys to be auto-indexed, if enabled
#node_keys_indexable=name,age
然后,您必须将文件编辑为以下内容:
# Autoindexing
# Enable auto-indexing for nodes, default is false
node_auto_indexing=true
# The node property keys to be auto-indexed, if enabled
node_keys_indexable=name,job
一旦完成,为了使自动索引生效,您必须重新启动neo4j。另外,作为附带说明,任何当前存在的节点都不会自动索引,这意味着您必须重新创建它们。如果你不想从头开始,这里有一些关于如何更新它们的留档:http://docs.neo4j.org/chunked/milestone/auto-indexing.html#auto-indexing-update-removal(我从未尝试过)。
然后你可以开始寻找这样的节点:
start n=node:node_auto_index(name="Dovakiin"), or
start n=node:node_auto_index(job="Dragon Slayer")
或者,像C#client这样:
Node<User> myNode = client.QueryIndex<User>("node_auto_index", IndexFor.Node, "name:Dovakiin").First();, or
Node<User> myNode = client.QueryIndex<User>("node_auto_index", IndexFor.Node, "job:Dragon Slayer").First();
只要在/conf/neo4j中设置了关系,就可以对关系执行同样的操作。属性文件。执行此操作的方法与处理节点的方法完全相同。
我正在使用node.js连接到neo4j数据库。每当我必须为一个节点设置索引时,我都会通过转到neo4j浏览器(localhost:7474)来手动完成。 我构建了自己的nodejs适配器来连接到neo4j,因此目前我只能访问密码查询。要创建索引,我只能访问cypher或浏览器(7474)。那么创建自动全文索引的正确方法是什么,最好是从浏览器本身创建?我如何使用密码访问它(或者我必须访问它?neo
我使用LOAD CSV导入大量的节点和关系集合。我使用MERGE来获取或创建节点。为了提高性能,我还为node属性创建了一个唯一的索引。 问题是进口约1MIO。边缘表现非常糟糕。我分析了导入查询和单个合并查询,但我看不到唯一索引的任何用法。相反,匹配查询使用索引。如何将合并与索引一起使用?
本文向大家介绍在Python中使用Neo4j的方法,包括了在Python中使用Neo4j的方法的使用技巧和注意事项,需要的朋友参考一下 Neo4j是面向对象基于Java的 ,被设计为一个建立在Java之上、可以直接嵌入应用的数据存储。此后,其他语言和平台的支持被引入,Neo4j社区获得持续增长,获得了越来越多的技术支持者。目前已支持.NET、Ruby、Python、Node.js及PHP等。因此,
我的Neo4J实例突然停止工作,我想我的驱动器因为一些不相关的日志文件而耗尽了空间。无论如何,现在我不能启动Neo4J,它开始了,一次又一次。如果我检查数据库的一致性,我会得到以下消息。(在版本3.3.5或3.4.1上都不起作用) 警告:标签索引未正确关闭,需要重建。标签索引:neostore。标签可以存储。db WARN:索引未正确关闭,需要重建。索引[IndexRule[id=1,描述符=In
我通过REST使用SpringData和Neo4j,当我添加@Indexed(unique=true)时,我看到了一个异常。这不会在embedded中引发异常,如果删除unique=true,也不会在REST中引发异常。即使数据库为空(没有节点和索引),也会发生这种情况。 有什么想法吗? 以下是异常跟踪: 为了完整起见,下面是测试代码:
目录 9.1. 你好,世界! 9.2. 一个使用遍历查询和索引的范例应用 要获取关于Python语言绑定的通用信息,请参考:python-embedded-installation。要获取关于如何在Python下安装Neo4j驱动的信息,请参考:python-embedded。 9.1. 你好,世界! 这是一个让你能开始使用的简单范例。 1 2 3 4 5 6 7 8 9 10 11 12 13