2016-04-01 1 views
2

Ich möchte case insensitive Suche nach einer Eigenschaft eines Knotens, der Index für diese Eigenschaft verwenden sollte. Ich benutze Neo4j 2.2.3. Mit regulären Ausdrücken können wir suchen, aber es wird nicht Index für diese Eigenschaft verwenden, z -case insensitive Suche mit Index auf die Eigenschaft eines Knotens in neo4j

MATCH (e:Entity)-[r]->(a:Address) where a.state=~'.*(?i)nm.*' RETURN r 

Wenn ich falsch bin, korrigieren Sie mich plese und lassen Sie mich wissen, wie es zu tun.

Antwort

0

Der Operator =~ verwendet keine Indizes. In 2.3 genaue Übereinstimmungen (=), Bereiche (>, <) verwenden Indizes sowie STARTS WITH. Alle anderen Bedingungen sind nicht indexunterstützt.

Wenn Sie manual indexes verwenden, können Sie die volle Leistung der Lucene-Abfragesyntax verwenden.

+0

Danke, Stefan zur Klarstellung – RCS

+0

Ich benutze 2.2.3. Ist START WITH und exakte Übereinstimmung mit Index in 2.2.3 gesichert? – RCS

+0

Genaue Übereinstimmung: Ja, STARTS MIT wurde in 2.3 hinzugefügt –