Только что ответил на это в списке TS, но с удовольствием отвечу и здесь:)
Нет встроенного способа сделать это, но теоретически это может быть возможно. Во-первых, Thinking Sphinx добавляет метод поиска на уровне класса при вызове define_index для модели, поэтому, если после этого вы определите свой собственный метод поиска, он перезапишет версию Thinking Sphinx.
Это означает, что вы можете просто определить новый метод, который делает то же самое - вот код для Model.search:
def self.search(*args)
ThinkingSphinx::Search.new *search_options(args)
end
Который вы могли бы легко переименовать в другое:
def self.sphinx_search(*args)
ThinkingSphinx::Search.new *search_options(args)
end
Единственный возможный улов этого заключается в том, что Thinking Sphinx может иметь внутренние ожидания в отношении существующего метода поиска и вести себя как обычно. Я не уверен - но попробуй и посмотри, как у тебя получится!
Обновление
Как оказалось, вышеупомянутое предложение не охватывает все ситуации и все еще содержит ошибки. Итак, я думаю, что запасное решение состоит в том, чтобы раскошелиться на Thinking Sphinx, изменить имена методов и использовать свою версию вместо канонической.