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

Indexing Neo4j手动/显式索引和非字符串范围查询,indexing,neo4j,lucene,cypher,neo4j-apoc,Indexing,Neo4j,Lucene,Cypher,Neo4j Apoc,我能够移植我的Neo4j 3.4.0应用程序,以使用手动索引和APOC过程,而不是查询indexles关系属性。除了最后一件事之外,一切都很有魅力——我遇到了非字符串Lucene范围查询的问题 他们没有按预期工作 例如: 我正在应用以下Lucene查询谓词,以获取2到6范围内的所有包含数字: value:[2 TO 6] 并接收具有以下值的文档: 567986400000 567986400000 567986400000 536450400000 536450400000 599608800

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

他们没有按预期工作

例如:

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

value:[2 TO 6]
并接收具有以下值的文档:

567986400000
567986400000
567986400000
536450400000
536450400000
599608800000
536450400000
567986400000
这显然不是人们所期望的


Neo4j/APOC中有什么我可以做的,以使其正常工作吗?

如果您阅读文档,它会说

“按字典顺序进行排序”

请参见下面的“范围查询”:


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

我想您的意思是
DoublePoint
,而不是
DoubleDocValuesField
。点字段和DocValues字段的工作方式不同。