Я реализовал полнотекстовый поиск с помощью Сфинкса и Думающего Сфинкса. Я хочу добавить постолбцовый поиск. Некоторая вещь like:-(взятие примера Переполнения стека)
Предположим, что Вы хотите видеть actvities, связанный с Вами, просто ввести:
user:me
Затем это возвратит результат со всеми вопросами и ответами, связанными с piemesons.
Если Вы вводите
votes:15
затем это возвратит результат со всеми вопросами, отмеченными с наличием больше чем 15 голосов.
И если Вы вводите
user:me votes:15
затем это возвратит все вопросы и ответы, принадлежащие Вам больше чем с 15 голосами.
Как я могу реализовать эту вещь?
Прямо сейчас мои результаты поиска основаны на полнотекстовом поиске. Как эти виды функций могут быть включены?
Какие-либо опции, доступные в Sphinx или Solr или каких-либо других поисковых системах?
: с опцией
в мыслящем сфинксе.
Прежде всего, вы должны определить эти атрибуты в определении индекса ( ознакомьтесь с разделом атрибутов здесь ).
has views_count, :as => :views, :type => :integer
has user.id, :as => :user, :type => :integer
Затем вы можете искать такие сообщения:
Post.search '', :with => {:views => 12..maxint, :user => User.first.id}
(я не уверен, есть ли более элегантная возможность указать открытые диапазоны, но 12..max_int должно быть достаточно)
Две важные вещи:
«CRC32 (CONCAT (user_type, user_id))»
of user.id