我正在尝试查询所有字段的节点索引。这是我认为可行的:
idx = db.node.indexes.get('myindex')
idx.query('*:search_query')
但这不会返回任何结果。但是,这有效
idx = db.node.indexes.get('myindex')
idx.query('*:*')
它按预期返回索引中的所有节点。假设第一个版本应该可以工作,我错了吗?
我不指望第一个版本可以工作,而第二个版本却让我感到惊讶。Neo4j 使用这种 Lucene 语法解析这些查询——我没有看到任何关于通配符字段的信息。相反,删除该字段以搜索隐含的“所有字段”。
插件 - 为了更简单的方式构建 Lucene 查询(与 Neo4j 兼容),请查看lucene-querybuilder。它被neo4j-rest-client和neo4django 使用。
编辑:
我似乎无法找到对我认为存在的“所有字段”隐式搜索的支持 - 抱歉!我猜你只需要手动在查询中包含所有字段(例如,“name:falmarri OR userType:falmarri”)。