В этом конкретном случае полнотекстовый поиск не поможет справиться с производительностью, так как при этом будут выбраны все обзоры, содержащие «отличную игру» (которых, вероятно, очень много), а затем вам нужно будет отфильтроватьдля тех, кто принадлежит рассматриваемому пользователю.
Это гораздо менее эффективно, чем сопоставление с отзывами рассматриваемого пользователя (которых должно быть сравнительно гораздо меньше), а затем отфильтровывать их по слову «великий».действующих '.
Вы можете использовать ключевое слово CONTAINS в предложении WHERE, чтобы убедиться, что свойство содержит заданную подстроку, как в ответе Радж (хотя это чувствительно к регистру):
MATCH (:User{ id: 123 })->[:Wrote]->(review:Review)->[:Reviewing]->(:Movie)
WHERE review.text CONTAINS 'great acting'
...
ВыМожно также создать индекс для этого, хотя это гораздо более эффективно, если он не используется для поиска здесь, а вместо этого начинается с пользовательского узла (вы можете ОБЪЯСНИТЬ запрос, чтобы определить, какие индексы используются для поиска начального узла (-ов)).
Если вам нужен поиск ключевых слов без учета регистра, вы можете использовать оператор = ~ regex для этого, хотя это не поддерживается индексами.Например:
MATCH (:User{ id: 123 })->[:Wrote]->(review:Review)->[:Reviewing]->(:Movie)
WHERE review.text =~ '(?i).*great acting.*'
...