通过Node.Js应用程序搜索Neo4J文本

时间:2014-02-16 20:57:01

标签: node.js neo4j elasticsearch cypher

这里有类似的问题,但没有答案。

我需要实现一个功能,用户可以从我的Node.Js应用程序中搜索我的Neo4J 2.0数据库中的两种类型的节点(标记为:Hashtags和:Statements)。

这意味着用户在搜索字段中输入他们需要的内容,单击搜索并获取结果。更好的方案是它更具响应性并且可以即时发现可能的匹配。

你会如何实现?

我有一些想法,但不确定要去哪一个:

  1. 每次用户进行搜索时,都会进行这种Cypher查询(对于数据库查询效率不高,我猜,并且不适用于响应式结果建议):

    MATCH(h:Hashtag {name:“user_query”}),(s:Hashtag {name:“user_query”})RETURN h,s;

  2. 安装类似Elastic Search的内容并让它处理搜索(这是来自Linkurio.us的人已经完成的事情)

  3. 在第一个选项中,那些标记节点的.name属性当然是索引的。

    第二种选择似乎更强大,但我真的希望避免安装额外的软件并具有这种依赖性。

    也许您知道更好的解决方案?

    谢谢!

1 个答案:

答案 0 :(得分:2)

我不明白为什么第一个选项不会响应?

默认情况下,所有Neo4j索引都使用Lucene,与弹性搜索相同? 使用索引(或唯一约束),查找应该是即时的。

你真的测试了性能吗? (确保使用实际值的参数)