Neo4j 与 Elasticsearch 中的全文搜索

Cha*_*pra 5 lucene full-text-search neo4j elasticsearch

Neo4j 4.0 和 Elasticsearch 都具有全文搜索和 Apache Lucene 的倒排索引。那么 Elasticsearch 比 Neo4j 全文搜索更好在哪里呢?
考虑我们正在将知识图作为 Neo4j 开发的数据存储模型来处理。除此之外,为什么我们应该将 Elasticsearch 与 Neo4j 4.0 一起使用。有哪些东西是 Elasticsearch 提供而 neo4j 4.0 没有的?

Aar*_*ron 2

那么elasticsearch比neo4j全文搜索好在哪里呢?

“更好”很大程度上取决于您的用例。但这些工具(Neo4j 和 ElasticSearch)是为了完全不同的目的而构建的。

Neo4j 最适合用作图形遍历引擎,从基于边缘(关系)的查询返回数据。它可能具有类似的功能,但它并不是要用作搜索引擎。

想要“模糊”匹配和相关性排名之类的东西吗?Neo4j 不会这些事情。此外,ElasticSearch 是一个真正的开箱即用的分布式数据存储。如果没有企业许可证,Neo4j 无法分发。

基本上,这取决于业务需求。如果数据存储主要需要执行图形遍历并提供一些简单的类似搜索的请求,那么 Neo4j 本身就足够了。需要一个功能齐全的搜索引擎来提供相同的数据吗?ElasticSearch 更适合处理这个问题。

  • “想要‘模糊’匹配和相关性排名之类的东西吗?Neo4j 不会做任何这些”——这是真的吗?我的理解是 Neo4j 支持 Lucene,这与 ElasticSearch 使用的搜索引擎完全相同 https://neo4j.com/developer/kb/fulltext-search-in-neo4j/ (2认同)