Neo4j手动/显式索引和非字符串范围查询

时间:2018-05-26 17:49:27

标签: indexing neo4j lucene cypher neo4j-apoc

我能够移植我的Neo4j 3.4.0应用程序以使用手动索引和APOC过程而不是查询索引关系属性。除了最后一件事之外,一切都像魅力一样 - 我遇到了非字符串Lucene范围查询的问题。

他们没有按预期工作Lucene query language and numeric range

例如:

我应用以下Lucene查询谓词,以获取2 to 6范围内的所有包含数字:

value:[2 TO 6]

并接收包含以下值的文件:

567986400000
567986400000
567986400000
536450400000
536450400000
599608800000
536450400000
567986400000

这显然不是预期的事情。

Neo4j / APOC中有什么可以让它正常工作吗?

1 个答案:

答案 0 :(得分:1)

如果您阅读了文档,则说

'按字典顺序排序'

请参阅'范围查询'下: https://lucene.apache.org/core/6_4_1/queryparser/org/apache/lucene/queryparser/classic/package-summary.html

您应该将数据编入索引,例如DoubleDocValuesField而不是StringField / TextField,并使用适当的Lucene查询,例如PointRangeQuery

相关问题