@asdasda11

Как включить сортировку связанной таблицы при использовании thinking_sphinx?

К примеру есть две таблицы: книги (id, заголовок, дата) и авторы (id, имя, страна, дата). При поиске книги, я вывожу всю информацию об авторе. Т.е. по итогу, мы видим колонки:

books.id, books.title, books.created_at, authors.name, authors.country, authors.created_at


В обычно ситуации, я могу сортировать как угодно, передав в orders например authors.country desc. Однако, при работе с thinking_sphinx это как-то не выходит. Сейчас book_index.rb выглядит так:

ThinkingSphinx::Index.define :book, with: :real_time do
  indexes title, sortable: true
  indexes author.name, as: :author_name, sortable: true
  indexes author.country, as: :author_country, sortable: true

  has title, type: string
  has author.name, type: string
  has author.country, type: string
  has created_at, type: :timestamp
  has author.created_at, type: :timestamp
end


При поиске соответственно пишу:

Book.search params[:search], sql: {include: :author}, order: 'author_name asc'


В ответ получаю:

index book_core: sort_by attribute 'author_name' not found - SELECT * FROM 'book_core' WHERE MATCH('blablabla') AND 'sphinx_deleted' = 0 ORDER BY 'author_name' asc LIMIT 0, 50; SHOW META


Вопрос: что не так делаю? Т.е. мне хотелось бы иметь возможность сортировать данные не только по основной таблице (books), но и по атрибутам связанной.
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ответы на вопрос 1
@asdasda11 Автор вопроса
тишина.... Неужто все кто использует Sphinx в своих приложениях, не сортируют данные по соседним таблицам?..
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы