Tôi đã xem qua các tài liệu trong github: http://github.com/outoftime/sunspot để tìm các giải pháp để làm nổi bật, nhưng nó dường như không hoạt động đối với tôi.Điểm nổi bật của điểm ảnh không xuất hiện
mô hình Job của tôi có một cái gì đó giống như khối này (bỏ qua một số lĩnh vực có mục đích):
searchable do text :name string :name, :stored => true time :updated_at time :created_at time :expires_on
Tôi có điều này, trong đó trả về kết quả:
search = Sunspot.search(Job) do keywords 'Senior', :fields => "name", :highlight => true end => 0, :fl=>"* score", :"hl.simple.pre"=>"@@@[email protected]@@", :qf=>"name_text", :rows=>30, :"hl.simple.post"=>"@@@[email protected]@@", :hl=>"on", :q=>"senior", :fq=>["type:Job"], :defType=>"dismax"}>
và nhận được hit như vậy:
>> search.hits => [#, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #]
và đây là kết quả của truy vấn, hiển thị tên:
>> 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"]
và ở đây có vấn đề của tôi .. khi tôi nhận được những điểm nổi bật, không ai được trả về:
>> search.hits.collect{|x| x.highlight(:name)} => [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]
và ngay cả điều này, không trả lại hit nổi bật:
>> search.hits.collect{|x| x.highlights} => [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
Am I thiếu các cờ hoặc đối số khác?
Đây là vấn đề, tôi đã thử câu trả lời này và nó đã hoạt động. Các trường mà bạn muốn làm nổi bật phải được lưu trữ. Đừng quên reindex solr lần nữa .. và có các trường động cần thiết tại chỗ (chẳng hạn như * _texts). – fifigyuri