Solr空间搜索提前!查询中的Solr字段值? Solr 4.10

时间:2018-01-26 12:46:59

标签: solr

假设我们有solr文档代表具有多个位置字段的建筑物。每个建筑文档至少有一个位置,表示建筑物的位置。而所有其他位置字段都是动态的,并代表建筑物周围的设施。

我们假设这些设施是基于类型的,例如; 1 - 学校,2 - 公园,3 - 停车场。

因此,每个建筑物可能具有多种这些设施,一些建筑物可能指向相同类型的设施和相同的位置,而其他建筑物可能指向相同的类型,但具有不同的位置。

本质上我们有:

building: {
...
main_location: "lat:long",
facility_1_location: "lat:long",
facility_2_location: "lat:long",
...
}

如果我们想找到半径为5公里的“学校”或“1”类型设施的所有建筑物,如何构建查询?

一个可能的解决方案是进行子查询,而每个子查询都需要main_location建筑物并对facility_1_location进行查询,但是如果我们有很多建筑,查询的大小会非常重复存储。

另一种解决方案是将文档本身字段用作main_location来构造查询,但我不确定这是否可能在Solr中。尝试并搜索它,但我找不到解决方案。

有没有专家呢?我正在使用Solr 4.10

0 个答案:

没有答案