I see that Neo4j have Indexes to support full-text search. But I can't find examples in the documentation on how to use this ability with regular relations query.
For example, I have the following structure: (:User)->[:Wrote]->(:Review)->[:Reviewing]->(:Movie)
I want to search Reviews with the full-text-search ability but only for a specific user. So user '123' want to search all his reviews with 'great acting' in them. So search the user's reviews would be MATCH (:User { id: 123 })-[w]->(review)
. While searching for reviews with the words 'great' and 'acting' would be CALL db.index.fulltext.queryNodes("reviews", "great acting")
What I can't figure out is how to combine the two with AND logic.
EDIT
I figured I can do the following thing:
CALL db.index.fulltext.queryNodes("reviews", "great acting") YIELD node as reviews
MATCH (:User { id: 123 })-[w]->(reviews)
The thing is, I may have millions of reviews with "great" or "acting" in them while the relevant user probably doesn't have more than 10s reviews. It doesn't sound very efficient.