2012-10-17 4 views
2

Nous créons un site de divertissement que nous voulons être en mesure de rechercher des événements, restaurants & bars, films, arts & théâtre, et TV/radio.Solr schéma stratégie

Tous ces champs sont évidemment associés à des champs différents.

Un restaurant aurait les champs suivants: nom, adresse, catégorie, description

Un film aurait les champs suivants: nom, THEATER_NAME, theater_address, les temps, la description

arts & théâtre: nom, address, venue_name

Dois-je stocker tous ces éléments dans le même index? Comment recommanderiez-vous de partager des champs communs et de créer des champs uniques pour chaque type de contenu?

Parfois, ceci serait recherché individuellement alors que d'autres fois ils pourraient être recherchés ensemble.

Répondre

3

Voici quelques articles sur certains des compromis entre un index unique et plusieurs index.

Sur la base de ce que vous avez montré pour les champs, je suggère d'utiliser des champs communs pour name, address, description puis champs spécifiques supplémentaires pour chaque type si nécessaire. En ce qui concerne les champs supplémentaires, vous pouvez tirer parti de la puissance de Dynamic Fields si vous ne voulez pas définir tous les champs supplémentaires à l'avance.

<dynamicField name="theater_*" type="string" indexed="true" stored="true" /> 
Questions connexes