Solr 如何使用django haystack+;索尔

Solr 如何使用django haystack+;索尔,solr,geospatial,django-haystack,Solr,Geospatial,Django Haystack,我目前正在使用django haystack和xapian。我找不到任何关于如何在xapian上执行地理空间查询的文档。但Solr似乎有一些动力。所以我现在正在试验这个 我无法让spatialSolr在本地上正常工作,但现在使用spatialSolr灯光,它似乎工作得很好。它接受如下查询 {!半径=1.0%20sort=true}纬度:10.0,液化天然气:-10.0 有人能给我指出一个haystack补丁,它允许我传递这样的自定义查询。我可以使用raw_search(),但无法链接结果。在任何

我目前正在使用django haystack和xapian。我找不到任何关于如何在xapian上执行地理空间查询的文档。但Solr似乎有一些动力。所以我现在正在试验这个

我无法让spatialSolr在本地上正常工作,但现在使用spatialSolr灯光,它似乎工作得很好。它接受如下查询

{!半径=1.0%20sort=true}纬度:10.0,液化天然气:-10.0

有人能给我指出一个haystack补丁,它允许我传递这样的自定义查询。我可以使用raw_search(),但无法链接结果。在任何情况下,我想找到一个更干净的方式来做类似的事情 sqs.空间(……)

谷歌群组(下面的链接)上提到了其他人的一些补丁,但大多数都无法访问

参考资料:


如果你不喜欢Xapian,请看。当我遇到这个问题时,我遇到了一个类似的问题,这个问题似乎解决了。多亏了,安装起来就像干草堆一样简单。斯芬克斯似乎也提供了更多的灵活性。

这里有一个django干草堆叉,它增加了对以下内容的支持:

相应的注释如下:
Sidmitra,我使用haystack 1.2.X和solr 3.4制作了您的解决方案端口。坦率地说,有一些限制-目前不支持模式生成,只支持LatLong地理类型,按距离排序并不完美(但有效)

我同意


它似乎过时了,但我可以通过一些工作使它成形。我遇到的问题:

  • 很难找到JavaSSP,当我发现它是错误的版本。是对我有用的链接

  • 我在网上找到的示例xml文件中的类路径都是错误的;我不得不搬走,索雷克斯特。从他们所有人那里

  • 插件对它所在的目录非常挑剔;在它愉快地使用solr/lib之前,它不能与其他任何东西说话

  • solr_backend.py需要以下修补程序(第505行附近):

  • 我在生成solrconfig.xml时遇到了进一步的问题,因此在查询具有有效的rsp之前从未加载GeoDistanceComponent


换句话说,您当然可以让它工作,但在到达之前,您必须能够处理python和java中的大量错误消息。

我直接从作者那里找到了缺少的haystack with SpatialSolr修补程序。他还更新了xapians GIS分支的线程,该分支将来可能会登陆。但在那之前,xapian的当前分支有一个补丁,它将地理空间分支的兼容功能清晰地贴在主干上。在抛弃干草堆之前,我可能会先尝试一下其中的一些选项,因为我的大部分搜索逻辑都是建立在这个基础上的。它似乎已经过时了,但我可以通过一些工作使它成形。我遇到的问题:
if self.spatial_query:
    final_query = '{{!spatial circles={lat},{long},{radius} }}{0}'.format(final_query,**self.spatial_query)