0
我正在使用Lucene.NET版本2.9.4。Lucene查询:提高性能
我需要建立一个复杂的查询。我需要找到一个点附近的酒店。
要做到这一点,我知道我的酒店的经纬度和我的推荐地点的地理坐标。
Lucene不能做数学,所以我会用一些range
过滤器构建searchQuery。
例子:
(
(latitude:[45 TO 55] AND longitude:[5 TO 95])
OR (latitude:[40 TO 60] AND longitude:[20 TO 80])
OR (latitude:[25 TO 75] AND longitude:[25 TO 75])
OR ...
)
查询将是长期的,然后我害怕的是,查询可能需要太多的时间来阐述。
但我有想法:我添加一个inclusive filter
排除所有酒店太多我的观点。
例子:
(
(latitude:[0 TO 100] AND longitude:[0 TO 100])
AND (
(latitude:[45 TO 55] AND longitude:[5 TO 95])
OR (latitude:[40 TO 60] AND longitude:[20 TO 80])
OR (latitude:[25 TO 75] AND longitude:[25 TO 75])
OR ...
)
)
什么是最好的解决办法吗?