我正在尝试跨所有字段查询节点索引。这是我认为可行的方法:
idx = db.node.indexes.get('myindex')
idx.query('*:search_query')
但这不会返回任何结果。然而,这有效
idx = db.node.indexes.get('myindex')
idx.query('*:*')
并且它按预期返回索引中的所有节点。我假设第一个版本应该可以工作是错误的吗?
最佳答案
我不希望第一个版本有效,而对第二个版本却很惊讶。 Neo4j 使用 this Lucene syntax 解析这些查询- 我没有看到任何关于通配符字段的信息。相反,删除该字段以针对隐含的“所有字段”进行搜索。
插件 - 构建 Lucene 查询的更简单方法(与 Neo4j 兼容),查看 lucene-querybuilder .它被 neo4j-rest-client 使用和 neo4django .
编辑:
我似乎找不到对我认为存在的“所有字段”隐式搜索的支持 - 抱歉!我想您只需要在查询中手动包含所有字段(例如,“name:falmarri OR userType:falmarri”)。
关于python - 使用 python 嵌入式绑定(bind)查询 neo4j 索引中的所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14144758/