我正在使用 Neo4j 3 REST API,我有名为 customer 的节点,它具有名称等属性,我需要获取客户名称的搜索结果,例如,我应该为我的输入“joan”获取名称“john”的结果。如何实现模糊搜索以获得我想要的结果。
提前致谢
最佳答案
首先,我想让您知道,如果您使用 Neo4j 3.x,则 3.x 目前处于测试阶段,尚未被认为是稳定的。
您有两种选择在 Neo4j 中实现模糊搜索。您可以使用 legacy indexes实现基于 Lecene 的索引。这应该提供 Lucene 可以做的任何事情,尽管您可能需要做更多的工作。您还可以实现自己的unmanaged extension这将使您能够更直接地使用 Lucene。
也许更简单的选择是将elasticsearch与Neo4j结合使用,并让elasticsearch进行全文索引。您可以看一下Neo4j and ElasticSearch neo4j.com 上的页面。他们在那里提供了一个指向 GitHub repository 的链接。这是 Neo4j 的一个插件,它会使用 Neo4j 中的数据自动更新 ElasticSearch,并提供用于模糊查询图形的端点。还有一个video tutorial关于如何做到这一点。
关于neo4j - 如何实现模糊搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34569696/