Lucene Spring数据Neo4j搜索和索引
我正在使用:Lucene Spring数据Neo4j搜索和索引,lucene,neo4j,cypher,spring-data-neo4j,Lucene,Neo4j,Cypher,Spring Data Neo4j,我正在使用: neo4j 2.0.1 弹簧数据neo4j 3.0.1.1发布 我有一个属性名为Node的人,我想用Lucene语法搜索该属性。我在我的存储库中使用findByNameLike方法,它非常适合像value*或*value或*之类的查询 但我需要一个类似于{a*到D*}的查询。我发现了一个不推荐使用的方法findAllByQuery(“name”,query),使用该方法我可以实现我的需求 我想知道理解这种查询语法的新方法是什么,没有被弃用 我还注意到,如果我从cypher创建节
- neo4j 2.0.1
- 弹簧数据neo4j 3.0.1.1发布
首先,确保您了解新版本和新版本之间的差异 我想知道什么是新的方法,没有被弃用,明白吗 这样的查询语法 您必须使用
schemaIndexRepository
的方法之一,为了方便起见,该方法在graphRespository
界面中进行了扩展。请记住,例如,通配符搜索尚未在架构索引上实现。如果要使用通配符搜索,您将有两个选项。继续使用Lucene索引(目前您最好的选择),或者在自定义存储库方法中使用正则表达式查询。例如
MATCH (p:Person) WHERE p.name =~ ".*test.*" RETURN p
我还注意到,如果我从cypher创建节点,则该节点不是
在我的搜索中可用。使用SDN,我认为生成的节点将
自动添加到索引中,但我不知道如何检查
还有什么是索引名。我必须从cypher生成节点
在我的系统中有一些基础数据。我应该加些特别的吗
我的密码查询中的属性
如果您使用的是Lucene索引,则不会将新条目添加到索引中。好吧,你只能通过编程来实现。可以按如下方式创建架构索引:
CREATE INDEX ON :Person(name)
具有name属性的新条目将自动添加到索引中。同样,通配符搜索还不会使用这些索引。thx,你帮了我大忙!如果我使用遗留索引,推送使用cypher创建的节点的最佳方式是什么?