2015-05-21 4 views
0

Я настроил sunspot-2.1.1.Model.solr_search не работает для геопространственного фильтра

Проблема

  • Я хочу найти все продукты в радиусе 20 миль и ниже мой код, чтобы сделать это для Product модели

      Product.search do 
          fulltext(params[:search][:keyword]) 
          order_by_geodist(:location, current_user.lat, current_user.lng) 
          with(:location).in_radius(current_user.lat, current_user.lng, mile_to_km) 
    
          paginate page: params[:page], per_page: GlobalConstant::SEARCH_RESULT_PER_PAGE 
          end 
    

Примечание: выше код правильно работает в среде разработки, он не работает в процессе производства. Я попытался переиндексации Solr также, но не повезло :(

И я добавил ниже кода, кроме страницы поиска, где я отображения списков радиус на основе продуктов, и она работает:

   Sunspot.search [Product] do 
       without(:sale_status, 'draft') 
       with(:user_id, current_user.id) 
       unless current_user.location.blank? 
        order_by_geodist(:location, current_user.lat, current_user.lng) 
        with(:location).in_radius(current_user.lat, current_user.lng, (mile_to_km)) 
       end 

       paginate page: params[:page], per_page: GlobalConstant::TIMELINE_PER_PAGE 
       end 

Что я Я не хватаю, почему он не работает в производственной среде и работает в среде разработки.?

Благодаря

ответ

0

Я действительно сожалею, чтобы открыть этот вопрос, я глуп, кто создал searches_controller_backup.rb, которые имели ол d, который не был настроен с помощью функции фильтра geospatial.

Проблема была все работало, но поскольку рельсы загружали коды поиска_контроллера из файла резервной копии, предполагалось, что он не работает.

С этой запиской выше оба кода работают отлично без каких-либо проблем .... так Model.solr_search не имеет отношения к geospatial filter не работает.

Удаление резервной копии файла или смена расширения на другое, кроме .rb Исправлена ​​моя проблема

 Смежные вопросы

  • Нет связанных вопросов^_^