2011-09-12 3 views

Répondre

5

Juste essayé. C'est un hack, mais cela fonctionne pour la recherche de documents incorporés, et le renvoi du document parent qui le contient. Est-ce que c'est ce que tu veux? Si oui, faites-le alors. Définissez la méthode qui renvoie les champs incorporés souhaités en tant que tableau, puis indexez ce tableau.

En supposant que vous avez la classe Société, avec les services intégrés

searchable do 
    # Your regular index 
    # ... 
    text :company_departments 
end 

def company_departments 
    departments.map(&:name).join(" ") 
end 

réindexation et essayer de chercher.

+0

hein ... merci pour la correction faute de frappe –

1

Vous pouvez également inclure un bloc qui renvoie le texte que vous souhaitez indexer directement dans le bloc de recherche. Par exemple:

searchable do 
    text :innerdoc do 
     innerdocs.map { |i| i.title + ' ' + i.description } 
    end 
end 

qui prend le titre et la description d'un tableau intégré de « innerdocs » et il ajoute à l'index pour le document principal.

Les taches solaires docs ont les meilleures infos sur la syntaxe pour le bloc « consultable »: http://outoftime.github.com/sunspot/docs/

Questions connexes