有没有一种方法可以同时搜索where条件和near条件,显示两者的结果。基本上,我想要一个搜索栏,用户可以输入一个人的姓名,但他们也可以输入一个位置,并且搜索会显示匹配两者的结果。我尝试了where查询,然后单独的近查询,并循环遍历Geocoded结果并将它们添加到主结果中,但这会产生重复并且不太理想。有任何想法吗?Rails搜索同时在哪里和地理编码
0
A
回答
1
您使用哪种地理编码gem?我的猜测是,您可以执行query.where
而不是query.where.near
,您可以在其中设置near
选择器生成的等效选项。
这是一个不同的问题,理论上正交于你提出的问题......但是你的控制器在查询传递到ActiveRecord之前作出任何决定?例如,如果用户键入New York, NY
,您的控制器是否“猜测”它是位置?或者只是尝试进行名称匹配搜索和地理编码尝试,无论输入是什么?我这样问,因为如果你解析出输入,你可能会得到这个if/else情况,其中if query is a location, do a geocode
或else do a search by name
。
我想知道是否合理的设计是在搜索数据库之前有一个不区分个人姓名和位置名称的搜索框,但也许您有一个创造性的用例。
相关问题
- 1. TweetSharp 2.0搜索和地理编码
- 2. 在哪里搜索?
- 3. 地理编码与导轨搜索
- 4. 使用地理编码位置的Rails范围弹性搜索
- 5. brew搜索在哪里搜索本地水龙头?
- 6. CLLocation,地理编码器和地区搜索
- 7. Laravel Scout,在哪里搜索
- 8. JS在地图上生成地理编码搜索
- 9. 错误的地理编码,Rails和Mongoid
- 10. Google Maps API - 地理编码和搜索附近
- 11. Rails在哪里like和array
- 12. Rails在哪里和递增
- 13. Android地理编码器支持地方搜索吗?
- 14. 在twitter搜索中使用地理编码API
- 15. 诺基亚这里地图地理编码和显示地图
- 16. typings在哪里搜索Typescript定义?
- 17. 搜索json的值在哪里in laravel?
- 18. mod_rewrite在哪里开始搜索?
- 19. JVM.dll在哪里搜索相关DLL的
- 20. 搜索框在哪里子句?
- 21. ElasticSearch的搜索队列在哪里
- 22. MySQL在哪里搜索问题
- 23. getResourceAsStream(文件)在哪里搜索文件?
- 24. Visual Studio的编译器在哪里搜索#includes?
- 25. SharePoint Server搜索管理页面在哪里? (如何达到它)
- 26. 在进行文件管理操作时,Visual Studio在哪里搜索txt文件?
- 27. Mongodb,在不同收藏中搜索文本和地理位置
- 28. Zend搜索Lucene:我在哪里放置代码?
- 29. 在哪里从get_template_parts搜索执行的代码?
- 30. P2P搜索引擎yacy:源代码在哪里?
你说得很好。我正在使用[geocoder gem](https://github.com/alexreisner/geocoder)和[这是网站](http://whoseyourlandlord.com/)。在传递到ActiveRecord之前判断查询是否是位置的问题是,如果用户搜索大学,他们可能会放入马里兰州,匹配名称“马里兰大学”,但也是一个位置。如果确定马里兰州是一个地点,马里兰大学可能不会被发现,取决于邻近地区。 – nikorablin
啊...那么也许你想打破搜索功能,以便键入部分名称为大学提供自动完成。例如,从“Uni ...”或“Maryl ...”开始提供包括“马里兰大学”在内的选项。另外,考虑到您必须添加额外的逻辑(以及可能的数据库命中),我想您必须评估全向搜索框是否真的增加了更多的灵活性。 – Zando