Is it possible to apply an index to a list of (string) values, so that you can efficiently look up "all nodes with a list property that contains X".
I have tried creating the index, and adding a list of strings, but any cypher search I do either returns nothing, or the profile shows the results are obtained via a label scan and not the index.
If it is possible:
a) Does the CREATE INDEX statement need to do anything special?
b) What does the MATCH statement look like?
Array indexes only find the full array.
You can use a manual index via APOC for that (which indexes each array entry),
or better the new fulltext index for 3.5.
Thanks. APOC was going to be plan B, but the additional manual index maintenance was a headache I didn't really want for a solution to an edge case that I'm hoping will never happen. I'm going to give 3.5 a try - it's about time I took a look.
I assume that the Neo4JRule TestRule code (Java) for 3.5 supports this new indexing for my testing entertainment?
I tried searching but it's not clear to me if APOC full text search can work on an list of strings. It would be nice if it did.
E.g. If I have a person with nicknames, can I do an APOC full text index and search on the list of nicknames? (I understand the built-in indexing property indexing won't work.)
The old 3.x indexes supported multi-value arrays/lists as properties. None of the current indexes do. There are a number of feature requests for it but nothing has been decided yet.