Hibernate Lucene距离查询生成器

Hibernate Lucene距离查询生成器,hibernate,lucene,spatial,hibernate-search,Hibernate,Lucene,Spatial,Hibernate Search,我在理解Lucene Spatial时遇到了一些问题,部分原因是缺乏文档和好的示例,部分原因是我的愚蠢 我正在尝试运行一个查询:- DistanceQueryBuilder builder = new DistanceQueryBuilder(new Double(point[1]), new Double(point[0]), 1000d, "geohash", CartesianTierPlotter.DEFALT_FIELD_PREFIX, true

我在理解Lucene Spatial时遇到了一些问题,部分原因是缺乏文档和好的示例,部分原因是我的愚蠢

我正在尝试运行一个查询:-

DistanceQueryBuilder builder = new DistanceQueryBuilder(new Double(point[1]), new Double(point[0]), 1000d,
                    "geohash", CartesianTierPlotter.DEFALT_FIELD_PREFIX, true);


             ConstantScoreQuery queryx = new ConstantScoreQuery(builder.getFilter());               
                org.hibernate.Query fullTextQuery = fullTextSession.createFullTextQuery(queryx,Address.class);
我确信在提供的命令1000英里范围内会有结果,但我不知道如何开始调试它

使用Luke查看索引,我已经验证了至少2个Geohash正确地转换为给定区域内的Lat和long

索引中还有一个字段,用于搜索所使用的级别_tier_9

我确信这是我所缺少的简单的东西,任何帮助都会很好

我还做了如下测试,以检查地址对象是否通过此方法找到,并且是否有效

QueryBuilder qb = fullTextSession.getSearchFactory()

                .buildQueryBuilder().forEntity( Address.class ).get();
                org.apache.lucene.search.Query qbx = qb.all().createQuery();
                org.hibernate.Query fullTextQueryASD = fullTextSession.createFullTextQuery(qbx,Address.class);

                List resultASD = fullTextQueryASD.list(); //return a list of managed objects  
干杯
Rob

尝试使用小于1000的距离值,如2。

尝试使用小于1000的距离值,如2