В Neo4j 3.5 (в настоящее время на бета03) есть возможности FTS (Полнотекстовый поиск).
РЕДАКТИРОВАТЬ: я написал подробный пост в блоге о FTS в Neo4j: https://graphaware.com/neo4j/2019/01/11/neo4j-full-text-search-deep-dive.html
Затем вы можете запросить документы, используя Синтаксис синтаксического анализатора запросов Lucene .
Создать индекс:
CALL db.index.fulltext.createNodeIndex('documents', ['Document'], ['title','text'])
Импорт некоторых документов:
LOAD CSV WITH HEADERS FROM "file:///docs.csv" AS row
CREATE (n:Document) SET n = row
Запрос документов с заголовком, содержащим "тяжелый тариф"
CALL db.index.fulltext.queryNodes('documents', 'title: "heavy toll"')
YIELD node, score
RETURN node.title, score
╒══════════════════════════════════════════════════════════════════════╤══════════════════╕
│"node.title" │"score" │
╞══════════════════════════════════════════════════════════════════════╪══════════════════╡
│"Among Deaths in 2016, a Heavy Toll in Pop Music - The New York Times"│3.7325966358184814│
└──────────────────────────────────────────────────────────────────────┴──────────────────┘
Запрос того же заголовка с опечаткой:
CALL db.index.fulltext.queryNodes('documents', 'title: \\"heavy~ tall~\\"')
YIELD node, score
RETURN node.title, score
Обратите внимание на экранирование кавычек => \ ", строка, передаваемая в базовый синтаксический анализатор, должна содержать кавычки для выполнения запроса фразы вместо логического запроса.
Также tidle
рядом с терминами указывают на нечеткий поиск с использованием алгоритма Дамарау-Левенштейна.
╒══════════════════════════════════════════════════════════════════════╤═════════════════════╕
│"node.title" │"score" │
╞══════════════════════════════════════════════════════════════════════╪═════════════════════╡
│"Among Deaths in 2016, a Heavy Toll in Pop Music - The New York Times"│0.868073046207428 │
├──────────────────────────────────────────────────────────────────────┼─────────────────────┤
│"Prisons Run by C.E.O.s? Privatization Under Trump Could Carry a Heavy│0.4014900326728821 │
│ Price - The New York Times" │ │
├──────────────────────────────────────────────────────────────────────┼─────────────────────┤
│"‘All Talk,’ ‘No Action,’ Says Trump in Twitter Attack on Civil Rights│0.28181418776512146 │
│ Icon - The New York Times" │ │
├──────────────────────────────────────────────────────────────────────┼─────────────────────┤
│"Immigrants Head to Washington to Rally While Obama Is Still There - T│0.24634429812431335 │
│he New York Times" │ │
├──────────────────────────────────────────────────────────────────────┼─────────────────────┤