我做了几次测试,并阅读了很多案例,将Neo4J用于基于图形的搜索.我相信灵活的架构和实时搜索和检索的功能.但我也意识到它不是为了便于全文搜索而存储文档.对我而言,该产品的潜力通
该产品与我的案例匹配99%:我工作的公司的“内部谷歌”,除了文档的全文搜索(Word,PDF等).这不是一个硬性要求,但是很高兴.不过,我应该放弃具体的Neo4J功能并购买像Elastic Search这样的产品,还是Neo4J我们正在寻找的产品?
在Neo4j中有一些文本搜索选项:Cypher(Neo4j查询语言)包括一些字符串比较运算符:CONTAINS,STARTS WITH和ENDS WITH.例如:
MATCH (d:Document) WHERE d.title STARTS WITH "Graph" RETURN d
您还可以通过“遗留”索引使用Neo4j的Lucene查询.例如:
START doc=node:node_auto_index("title:graph*") ...
有关更多信息,请参见this post.
您还可以将文档建模为图形,并使用Cypher作为图形模型进行查询.例如,请参阅Neo4j Doc Manager project以将数据从MongoDB转换为Neo4j.
最后,您还可以一起使用Neo4j和Elasticsearch,在Elasticsearch中索引文本数据并使用Neo4j进行图遍历.见this project.