【发布时间】:2014-03-16 00:08:32
【问题描述】:
这里有这样的问题,但没有答案。
我需要实现一个功能,用户可以从我的 Node.Js 应用程序中搜索 Neo4J 2.0 数据库中的两种类型的节点(标记为:Hashtags 和 :Statements)。
这意味着用户在搜索字段中输入他们需要的内容,单击搜索并获得结果。更好的方案是它的响应速度更快,并且可以即时找到可能的匹配项。
你将如何实现它?
我有一些想法,但不确定该选择哪一个:
-
每次用户进行搜索时,进行这种 Cypher 查询(我猜查询数据库效率不高,并且不适用于响应式结果建议):
MATCH (h:Hashtag{name:"user_query"}), (s:Hashtag{name:"user_query"}) RETURN h,s;
安装类似Elastic Search 的东西并让它处理搜索(这是Linkurio.us 的人所做的)
在第一个选项中,这些标记节点的 .name 属性当然是索引的。
第二个选项似乎更健壮,但我真的很想避免安装额外的软件和拥有这种依赖关系。
也许您知道更好的解决方案?
谢谢!
【问题讨论】:
标签: node.js neo4j elasticsearch cypher