Так чем же elasti c search лучше, чем полнотекстовый поиск neo4j?
«Лучше» во многом зависит от вашего варианта использования. Но инструменты (Neo4j и ElasticSearch) были созданы для совершенно разных целей.
Neo4j лучше всего использовать в качестве механизма обхода графа, возвращая данные из запросов на основе границ (отношений). У него могут быть аналогичные возможности, но он просто не предназначен для использования в качестве поисковой системы.
Хотите таких вещей, как "нечеткое" соответствие и рейтинг релевантности? Neo4j не ничего из этого сделает. Кроме того, ElasticSearch - это действительно готовое распределенное хранилище данных. Neo4j не может распространяться без корпоративной лицензии.
В основном это сводится к бизнес-требованиям. Если хранилищу данных в основном необходимо выполнять обходы графа и обслуживать несколько простых поисковых запросов, одного Neo4j может быть достаточно. Нужна полнофункциональная поисковая система для обслуживания тех же данных? ElasticSearch лучше всего подходит для этой цели.