Как изменить анализатор существующего индекса Neo4j с помощью Cypher - PullRequest
0 голосов
/ 13 марта 2019

Какова лучшая команда Cypher для изменения анализатора существующего индекса в Neo4j?

1 Ответ

2 голосов
/ 14 марта 2019

Цитировать из документации:

db.index.fulltext.createNodeIndex и db.index.fulltext.createRelationshipIndex принимает необязательный четвертый аргумент, называемый config.Параметр config является отображением от строки к строке и может использоваться для установки параметров конфигурации, специфичных для индекса.Параметр analyzer можно использовать для настройки анализатора для конкретного индекса.Возможные значения для параметра analyzer могут быть перечислены с помощью процедуры db.index.fulltext.listAvailableAnalyzers.

Однако, если вы используете neo4j Enterprise Edition в кластерной среде, в настоящее время появляется предупреждение:

Использование специфических для индекса настроек через параметр config является экспериментальным, поскольку в настоящее время эти настройки не реплицируются в кластерной среде.См. Раздел Индексы полнотекстовой схемы Руководства по эксплуатации, чтобы узнать, как настроить стандартные полнотекстовые индексы в neo4j.conf .

. Вот примеро том, как создать полнотекстовый индекс, использующий «литовский» анализатор:

CALL db.index.fulltext.createNodeIndex(
  "titlesAndDescriptions",
  ["Movie", "Book"],
  ["title", "description"],
  {analyzer: "lithuanian"}
)

Но, как представляется, с помощью Cypher не существует способа изменить анализатор существующегополнотекстовый индекс.На самом деле, даже если бы это было возможно, это может быть не очень хорошая идея.Поскольку содержимое существующего индекса было бы создано с использованием предыдущего анализатора и любые новые добавления в индекс были бы сделаны с помощью нового анализатора, поиск индекса может привести к очень странным или подверженным ошибкам результатам.Вместо этого было бы лучше создать новый полнотекстовый индекс.

...