使用“查询”;在;子句使用neo4j中的索引和Cypher

使用“查询”;在;子句使用neo4j中的索引和Cypher,neo4j,Neo4j,我想在neo4j中使用我的auto_索引,并传入一个字符串数组来匹配。我知道您可以在cypher查询的末尾添加一个IN子句,但它不使用索引,我假设它将对所有记录进行数据库扫描。使用索引查询执行此操作的最佳方法是什么 e、 g.假设facebookId上有一个自动索引,并且有100万个用户节点,则让我找到facebookId在[“123”、“456”、“789”中的用户。您可以通过显式索引查找来执行此查询,如 start user = node:node_auto_index('facebookI

我想在neo4j中使用我的auto_索引,并传入一个字符串数组来匹配。我知道您可以在cypher查询的末尾添加一个IN子句,但它不使用索引,我假设它将对所有记录进行数据库扫描。使用索引查询执行此操作的最佳方法是什么


e、 g.假设facebookId上有一个自动索引,并且有100万个用户节点,则让我找到facebookId在[“123”、“456”、“789”中的用户。

您可以通过显式索引查找来执行此查询,如

start user = node:node_auto_index('facebookId:123 OR facebookId:456') match  ...

举个例子。

我想这是一个值得发布的答案:

START n=node:node_auto_index('facebookId:("123", "456", "789")')
...
例如:

我想这会管用,但如果我有20或30个ID来匹配,可能会很长时间。没有其他更干净的方法可以做到这一点?顺便说一句,在cypher索引查询中可以传递哪些运算符和参数的文档在哪里?大部分内容都在这里。它直接传递给Lucene作为默认索引:
是默认值,顺便说一句:提供相同的结果,而不明确说明记录的
(仅供参考),当前的Neo 1.9.M04限制为512个字段。(我认为它使用了Lucene 3.5)