我正在使用Neo4j 3 REST API,我有一个名为customer的节点,它具有名称等属性,我需要获取客户名称的搜索结果,例如,我应该为我的输入"joan"获得名称"john"的结果.如何实现模糊搜索以获得我想要的结果.
提前致谢
首先,我想让您知道,如果您使用的是Neo4j 3.x,则3.x目前处于测试版中,尚不稳定。
您有两个选择可以在Neo4j中实现模糊搜索。您可以使用旧索引来实现基于Lecene的索引。尽管您可能需要做更多的工作,但这应该可以提供Lucene可以做的一切。您还可以实现自己的非托管扩展,这将使您可以更直接地使用Lucene。
也许更简单的选择是将Elasticsearch与Neo4j结合使用,并让Elasticsearch进行全文索引。您可以在neo4j.com上查看Neo4j和ElasticSearch页面。在那里,它们提供了指向GitHub存储库的链接,该存储库是Neo4j的插件,可以使用Neo4j的数据自动更新ElasticSearch,并提供模糊查询图形的端点。还有一个有关如何执行此操作的视频教程。