2010-07-30 9 views
8

He revisado los documentos en github: http://github.com/outoftime/sunspot para encontrar soluciones para resaltar, pero parece que no me funcionan.No aparecen las manchas solares

Mi modelo de empleo tiene algo parecido a este bloque (omitido algunos campos a propósito):

 
    searchable do 
    text :name 

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

tengo esta respondiendo a la búsqueda:

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

y conseguir los éxitos como tal:

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

y aquí estaban los resultados de la consulta, mostrando el nombre:

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

y aquí viene mi problema .. cuando llegue a los aspectos más destacados, se volvió ninguno:

 
>> search.hits.collect{|x| x.highlight(:name)} 
=> [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil] 

e incluso esto, no vuelve éxitos destacar:

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

I Am ¿Falta otras banderas o argumentos?

Respuesta

5

Creo que tiene que ver con si el campo de texto está almacenado. ¿Esto hace una diferencia:

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

Así es como el: campo del cuerpo está configurado en este ejemplo:

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

El: campo del cuerpo es uno que los aspectos más destacados se consultan en el controlador:

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

la esperanza de que lo hace!

+0

Este es el punto, probé esta respuesta y funcionó. Los campos que desea resaltar deben almacenarse. No olvide volver a soldar reindex .. y tenga los campos dinámicos necesarios en su lugar (como * _texts). – fifigyuri

Cuestiones relacionadas