Ruby on rails 使用思考狮身人面像在狮身人面像中搜索多边形

Ruby on rails 使用思考狮身人面像在狮身人面像中搜索多边形,ruby-on-rails,ruby-on-rails-5,sphinx,thinking-sphinx,Ruby On Rails,Ruby On Rails 5,Sphinx,Thinking Sphinx,我已经为实时索引设置了thinking sphinx,它工作得很好,也可以使用geodist进行搜索。但是现在我想搜索多边形中的记录 Sphinx文档在以下方面对此进行了很好的解释: 现在我想使用thinking sphinx来使用这个功能。 斯芬克斯思考确实解释了大地学家搜索 但它没有说明如何在多边形内搜索 有人能帮我吗?认为斯芬克斯没有内置任何东西为多边形搜索提供整洁的界面,但当然可以使用该功能 您需要生成所需的SphinxQLSELECT子句,对其进行相应的筛选,和/或使用attribut

我已经为实时索引设置了thinking sphinx,它工作得很好,也可以使用geodist进行搜索。但是现在我想搜索多边形中的记录

Sphinx文档在以下方面对此进行了很好的解释:

现在我想使用thinking sphinx来使用这个功能。 斯芬克斯思考确实解释了大地学家搜索 但它没有说明如何在多边形内搜索


有人能帮我吗?

认为斯芬克斯没有内置任何东西为多边形搜索提供整洁的界面,但当然可以使用该功能

您需要生成所需的SphinxQL
SELECT
子句,对其进行相应的筛选,和/或使用
attributespan
访问自定义属性。下面的代码很清楚:

search = Model.search("foo",
  :select => "*, CONTAINS(GEOPOLY2D(...), ...) AS inside",
  :with   => {:inside => true}
); ""
search.context[:panes] << ThinkingSphinx::Panes::AttributesPane
search.collect { |instance| instance.sphinx_attributes["inside"] }
search=Model.search(“foo”,
:select=>“*,包含(GEOPOLY2D(…),…)作为内部”,
:with=>{:inside=>true}
); ""

谢谢帕特,我真的很感谢你为使TS成为一个更好的平台所做的努力。我已经读了关于中间件的博客文章。我浏览了源代码,发现没有一种直接的方法可以使用多边形,比如
geodist
,所以使用了上面提到的方法使其暂时工作。我还想知道你上面提到的动态属性。所以我的两个问题都解决了。作为一个建议,我认为您可以在thinking sphinx的文档部分提到上述使用动态属性和基于多边形的搜索的方法。我读了整个文档,想找到它,但是找不到。再次感谢你的帮助