2011-07-20 2 views
1
define_index do 
    indexes :first_name, :prefixes => true 
    indexes :last_name, :prefixes => true 
    indexes :email, :prefixes => true 
    set_property :enable_star => 1 
    set_property :min_perfix_len => 1 
end 

В этом случае, если мне нужно искать только электронную почту, то он будет искать из всех указанных индексов.Поиск подстановочных знаков с выпуском Thinking Sphinx с индексами

EG:

email ="*me*" 
Contact.search email 

Показано с first_name, last_name и электронной почты. Но он должен отображаться только по электронной почте

Что было бы решением для поиска только одного индекса из указанных индексов.

ответ

1

Просто быстрая коррекция - вы хотите искать по определенному полю, а не по определенному индексу.

И Thinking Sphinx может сделать это с помощью опции :conditions - так дайте следующую попытку:

Contact.search :conditions => {:email => '*me*'} 

Думая Sphinx также может автоматически добавить символы к обоим концам каждого слова, которое вы даете ему так:

Contact.search :conditions => {:email => 'me'}, :star => true 
+0

** Спасибо, его рабочий штраф ... ** –

 Смежные вопросы

  • Нет связанных вопросов^_^