我正在使用Hibernate Search 5通过Apache Lucene实现全文服务实现。按照this site中的步骤,我可以使文本搜索正常工作。
现在我需要在实体中添加地理位置(纬度/经度)字段并引用此documentation,似乎休眠允许使用@Latitude
和@Longitude
注释定义一个。
我的要求是找到与给定关键字匹配并且落在边界地理多边形内的所有实体(给定边界框的左上角点和右下角点)。
在休眠文档中进一步参考,我发现支持在以下特定距离(更像是边界圆)内查找实体
org.apache.lucene.search.Query luceneQuery = builder .spatial() .within( radius, Unit.KM ) .ofLatitude( centerLatitude ) .andLongitude( centerLongitude ) .createQuery();
有没有一种方法可以通过限制多边形而不是半径来进行搜索?
作为一种解决方法,我可以提供一个足够大的半径来限制我的盒子,但是我最终将过度获取数据。
我正在使用Hibernate Search 5通过Apache Lucene实施全文服务实现。我可以按照本站点中的步骤使文本搜索正常工作。现在我需要添加一个地理位置...
Hibernate Search 5中不支持边界框查询。