Сортировать по дате с помощью act_as_solr - PullRequest
1 голос
/ 26 января 2010

Я получил сортировку, работающую из моего приложения rails, с использованием act_as_solr для текстовых полей, как показано ниже с заголовком.

У меня проблемы с тем, чтобы заставить его работать на сегодняшний день.

Моя модель имеет следующий

class Article < ActiveRecord::Base

acts_as_solr :fields[:title, {:title_s=> :string}, {:created_at_d => :date}]

def title_s
  self.title
end

def created_at_d
  self.created_at
end

На сервер solr отправляется следующее сообщение:

path=/select params={wt=ruby&rows=10start=0&sort=created_at_d_d+asc&fl=pk_i,score&q=(+searchtext)..........

Код Solr

Article.paginate_all_by_solr(searchString, :order=> "created_at_d asc", :page = page, :per_page => results_per_page, :total_entrieds => count)

Есть ли что-то очевидное, что я делаю не так? Я не уверен, что {: made_at_d =>: date} в модели является правильным способом установки индекса для дат.

Когда я просто чеканил это из: creation_at, я получаю ошибку вокруг полей с токенами, аналогичную той, что при попытке сортировки по: title.

1 Ответ

1 голос
/ 26 января 2010

Что-то не так с индексом.

Когда я вошел в скрипт / консоль и запустил

Article.rebuild_solr_index

Неправильно проиндексирована дата.

Я создал задачу rake со следующего сайта. http://henrik.nyh.se/2007/06/rake-task-to-reindex-models-for-acts_as_solr

Когда я побежал

>rake solr:reindex

Индекс был создан правильно, и сортировка по датам начала работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...