Est-ce que quelqu'un sait comment indexer et rechercher embedded documents avec sunpot_mongoid?Comment rechercher des documents mongoïdes avec SOLR?
La question a été posée dans le sunspot_mongoid issues, mais n'a pas de solution, jusqu'à présent.
Est-ce que quelqu'un sait comment indexer et rechercher embedded documents avec sunpot_mongoid?Comment rechercher des documents mongoïdes avec SOLR?
La question a été posée dans le sunspot_mongoid issues, mais n'a pas de solution, jusqu'à présent.
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.
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/
hein ... merci pour la correction faute de frappe –