2010-07-30 11 views
8

दिखाई नहीं दे रहा है मैं हाइलाइटिंग के लिए समाधान खोजने के लिए github: http://github.com/outoftime/sunspot में दस्तावेज़ों से गुजर चुका हूं, लेकिन यह मेरे लिए काम नहीं कर रहा है।सनस्पॉट हाइलाइट्स

मेरे नौकरी मॉडल इस ब्लॉक की तरह कुछ (लोप उद्देश्य पर कुछ क्षेत्रों) होते हैं:

 
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"}> 

और जैसे हिट हो रही है:

 
    searchable do 
    text :name 

    string :name, :stored => true 
    time :updated_at 
    time :created_at 
    time :expires_on 

मैं इस, जो परिणाम देता है

 
>> 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} 
=> [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []] 

एम आई अन्य झंडे या तर्क गुम है?

उत्तर

5

मुझे विश्वास है कि टेक्स्ट फ़ील्ड को संग्रहीत किया गया है या नहीं। यह एक फर्क पड़ता है:

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

है कैसे वह:

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

: शरीर क्षेत्र एक है कि प्रकाश डाला नियंत्रक में के लिए क्वेरी की जाती है शरीर क्षेत्र इस उदाहरण में कॉन्फ़िगर किया गया है:

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

आशा यह है कि!

+0

यह बात है, मैंने इस जवाब की कोशिश की और यह काम किया। जिन फ़ील्ड को आप हाइलाइट करना चाहते हैं उन्हें संग्रहीत करना होगा। फिर से reindex solr भूलना मत भूलना .. और जगह में आवश्यक गतिशील क्षेत्रों (जैसे * _texts) है। – fifigyuri

संबंधित मुद्दे