Солнечные пятна не появляются

Я просмотрел документы в github: http://github.com/outoftime/sunspot чтобы найти решения для выделения, но, похоже, мне это не помогло.

Моя модель Job имеет что-то вроде этого блока (некоторые поля пропущены специально):

  с возможностью поиска сделать
    текст: имя

    строка: имя,: хранится => правда
    время:updated_at
    время: создан_
    время:expires_on

У меня есть это, которое возвращает результаты:

search = Sunspot.search (Job) do
  ключевые слова 'Senior',:fields => "name",:highlight => true
конец

=> 0,:fl=>"* score",:"hl.simple.pre"=>"@@@hl@@@",:qf=>"name_text",:rows>>30,:"hl.simple.post"=>"@@@endhl@@@",:hl=>"on",:q=>"senior",:fq=>["type:Job"],:defType=>"dismax"}>

и получать хиты как таковые:

>> search.hits
=> [#, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #]

и вот результаты запроса с отображением имени:

>> search.results.collect {| x | x.name}
=> ["Старший юрист, исполнительное членство", "Старший аналитик по международным затратам", "Старший инженер-технолог", "Заместитель старшего менеджера процесса", "Старший инженер (вращающееся оборудование)", "Старший технический эксперт, Индонезия", "Старший Инженер по сгоранию "," Старший инженер проекта / технический менеджер "," Старший специалист по проектированию подструктур, Бангладеш "," Старший инженер по надзору (надстройка), Бангладеш "," Старший консультант по разработке программ и стратегий "," Старший юрист (природные ресурсы ") Специалист по управлению), "Старший менеджер (Развитие сельскохозяйственного рынка, Афганистан)", "Старший инженер по материалам (главный мост), Бангладеш", "Старший инженер-резидент (главный мост), Бангладеш", "Старший инженер-резидент (главный мост)", Бангладеш "," Старший инженер по материалам (главный мост), Бангладеш "]

и вот идет моя проблема.. когда я получаю основные моменты, ни один не был возвращен:

>> search.hits.collect {| x | x.highlight (: название)}
=> [ноль, ноль, ноль, ноль, ноль, ноль, ноль, ноль, ноль, ноль, ноль, ноль, ноль, ноль, ноль, ноль, ноль, ноль, ноль]

и даже это, не возвращает хиты основного момента:

>> search.hits.collect {| x | x.highlights}
=> [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]

Я пропускаю другие флаги или аргументы?

1 ответ

Решение

Я считаю, что это связано с тем, хранится ли текстовое поле. Имеет ли это значение:

searchable do
    text :name, :stored => true
    ...

Вот как настраивается поле:body в этом примере:

http://github.com/outoftime/sunspot-rails-example/blob/master/app/models/post.rb

Поле:body является тем, которое запрашивает основные моменты в контроллере:

http://github.com/outoftime/sunspot-rails-example/blob/master/app/controllers/searches_controller.rb

Надеюсь, что это делает!

Другие вопросы по тегам