Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lucene Spring数据Neo4j搜索和索引_Lucene_Neo4j_Cypher_Spring Data Neo4j - Fatal编程技术网

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发布
我有一个属性名为Node的人,我想用Lucene语法搜索该属性。我在我的存储库中使用findByNameLike方法,它非常适合像value*或*value或*之类的查询

但我需要一个类似于{a*到D*}的查询。我发现了一个不推荐使用的方法findAllByQuery(“name”,query),使用该方法我可以实现我的需求

  • 我想知道理解这种查询语法的新方法是什么,没有被弃用

  • 我还注意到,如果我从cypher创建节点,则该节点在搜索中不可用。 使用SDN,我认为生成的节点也会自动添加到索引中,但我不知道如何检查它以及索引名是什么。我必须从cypher生成节点,以便在我的所有系统中都有一些基础数据。我应该在密码查询中添加一些特殊属性吗


  • 首先,确保您了解新版本和新版本之间的差异

    我想知道什么是新的方法,没有被弃用,明白吗 这样的查询语法

    您必须使用
    schemaIndexRepository
    的方法之一,为了方便起见,该方法在
    graphRespository
    界面中进行了扩展。请记住,例如,通配符搜索尚未在架构索引上实现。如果要使用通配符搜索,您将有两个选项。继续使用Lucene索引(目前您最好的选择),或者在自定义存储库方法中使用正则表达式查询。例如

    MATCH (p:Person) WHERE p.name =~ ".*test.*" RETURN p
    
    我还注意到,如果我从cypher创建节点,则该节点不是 在我的搜索中可用。使用SDN,我认为生成的节点将 自动添加到索引中,但我不知道如何检查 还有什么是索引名。我必须从cypher生成节点 在我的系统中有一些基础数据。我应该加些特别的吗 我的密码查询中的属性

    如果您使用的是Lucene索引,则不会将新条目添加到索引中。好吧,你只能通过编程来实现。可以按如下方式创建架构索引:

    CREATE INDEX ON :Person(name)
    

    具有name属性的新条目将自动添加到索引中。同样,通配符搜索还不会使用这些索引。

    thx,你帮了我大忙!如果我使用遗留索引,推送使用cypher创建的节点的最佳方式是什么?