Интеграция поиска SOLR / Lucene с приложением Rails - какие драгоценности?Советы? - PullRequest
3 голосов
/ 24 января 2011

Уважаемые программисты, кто-нибудь имел опыт интеграции RoR для SOLR / Lucene?Более подробно: я настроил тестовый индекс с помощью solr / lucene для моего приложения rails.Мне нужно обменяться поисковыми функциями с поиском solr сейчас.

Я хочу обновить индекс автоматически, не вызывая приложение (на данный момент), поэтому нет необходимости добавлять документы из приложения ...Мне просто нужно передать строку поиска в solr, получить результаты и представить их в веб-приложении.Какой самый простой и быстрый способ добиться этого?

Какие драгоценные камни вы бы обычно использовали для интеграции SOLR / Lucene: solr-ruby Плагин activ_as_solr rails, похоже, больше не поддерживается - вы бы все равно его использовали??

Так как я на самом деле учусь методом проб и ошибок ;-), подсказка для хорошего учебника по интеграции и / или фрагментов кода, как общаться с сервером solr, может мне очень помочь.

С уважением и большое спасибо!Markus

Ответы [ 2 ]

9 голосов
/ 24 января 2011

Лучшими вариантами того, что вы описываете в эти дни, будет Sunspot для его простых в использовании хуков DSL и ActiveRecord.

Еще одним хорошим вариантом является прямой RSolr (который Sunspot использует в фоновом режиме), если вы предпочитаете минимализм простых хэшей Ruby и написание собственных хуков ActiveRecord.

Вот двухминутное руководство для Sunspot:

Gemfile

gem 'sunspot_rails'

приложение / модели / post.rb

class Post < ActiveRecord::Base
  searchable do
    text :title
    text :body
  end
end

Чтобы проиндексировать существующее содержимое вашей модели из консоли (есть также доступные задачи Rake):

Post.reindex

приложение / контроллеры / posts_controller.rb

class PostsController < ApplicationController
  def search
    @search = Post.search do
      keywords params[:q]
    end
    @posts = @search.results
  end
end

приложение / просмотров / сообщений / search.html.erb

<h1>Search results</h1>
<%= render @posts %>
2 голосов
/ 24 января 2011

Мы используем SunSpot для довольно большого количества приложений (большой набор данных) без каких-либо проблем.act_as_solr дал нам много головной боли в прошлом.

...