Я конвертирую приложение Rails с использования plays_as_solr в sunspot.
Приложение использует возможность поиска поля в solr, которая была представлена в actions_as_solr. Вы мог бы дать ему строку запроса, подобную этой:
title:"The thing to search"
, и он будет искать эту строку в поле заголовка.
При преобразовании в солнечное пятно я разбираю части строки запроса, специфичные для поля, и мне нужно динамически генерировать поиск блок. Примерно так:
Sunspot.search(table_clazz) do keywords(first_string, :fields => :title) keywords(second_string, :fields => :description) ... paginate(:page => page, :per_page => per_page) end
Это усложняется тем, что также необходимо выполнять диапазоны продолжительности (секунды, целые числа) и отрицание, если этого требует запрос.
В текущей системе пользователи могут искать что-то в заголовке, исключая записи с чем-то еще в другом поле и с масштабированием по продолжительности.
Вкратце, как мне динамически генерировать эти блоки?