Я просмотрел документы в github: http://github.com/outoftime/sunspot, чтобы найти решения для выделения, но, похоже, это не работает для меня.
В моей модели работы есть что-то вроде этого блока (некоторые поля пропущены специально):
searchable do
text :name
string :name, :stored => true
time :updated_at
time :created_at
time :expires_on
У меня есть это, которое возвращает результаты:
search = Sunspot.search(Job) do
keywords 'Senior', :fields => "name", :highlight => true
end
=> 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}
=> ["Senior Associate, Executive Membership", "Senior International Costing Analyst", "Senior Process Engineer", "Deputy Senior Process Manager", "Senior Engineer (Rotating Equipment)", "Senior Technical Expert, Indonesia", "Senior Combustion Engineer", "Senior Project Engineer/ Engineering Manager", "Senior Substructure Design Specialist, Bangladesh", "Senior Supervision Engineer (Superstructure), Bangladesh", "Senior Program and Strategy Development Advisor- Consultant", "Senior Associate (Natural Resource Management Specialist)", "Senior Manager (Agriculture Market Development, Afghanistan)", "Senior Material Engineer (Main Bridge), Bangladesh", "Senior Resident Engineer (Main Bridge), Bangladesh", "Senior Resident Engineer (Main Bridge), Bangladesh", "Senior Material Engineer (Main Bridge), Bangladesh"]
и вот моя проблема .. когда я получаю основные моменты, ни один не был возвращен:
>> search.hits.collect{|x| x.highlight(:name)}
=> [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]
и даже это, не возвращает хиты основного момента:
>> search.hits.collect{|x| x.highlights}
=> [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
Мне не хватает других флагов или аргументов?