按子位置对文档进行排序

时间:2018-12-04 15:37:54

标签: solr nested spatial

我正在按下面的代码片段编制索引的产品文档,我想  根据存储为产品子文档的商店对产品进行排序。

{
  id: "101",
  title: "product title",
  nodeType: "product",
  ...
  _childDocuments_: [
    {
      id: "12432",
      name: "shop-name",
      quantity: 12,
      location: "42.1218,16.5432",
      nodeType: "shop"
    },
    {
      id: "14811",
      name: "shop-name-2",
      quantity: 0,
      location: "46.2995,14.9546",
      nodeType: "shop"
    },
    ...
  ]
}

索引编制和过滤工作正常,但是当我尝试使用以下排序查询按子文档的距离对结果进行排序时,它根本不起作用。

{!parent which="nodeType:product" v='nodeType:shop dist(2,latitude,longitude,48.185378,16.400646)'}asc

我尝试过的另一个排序查询:

{!parent which="nodeType:product"}{!geofilt sfield=location}&pt=48.1984032,16.3821551&d=5

最后一个将始终为geodist()返回无穷大,而不给我期望的排序。

我真的很坚持。任何帮助或提示,表示赞赏。

1 个答案:

答案 0 :(得分:0)

我认为问题是如何根据商店的经纬度排序。 如果是这种情况,我看到有一些针对此问题的特定问题:latitude/longitude find nearest latitude/longitude - complex sql or complex calculation

相关问题