2015-08-21 1 views
0

J'utilise solr 4.10. Son schéma est celui fourni par apache nutch car il stocke les index de données crawlées par Nutch. Maintenant, je dois également indexer les informations d'un utilisateur dans l'index afin de pouvoir rechercher des utilisateurs. Pour cela, je dois changer de schéma. J'ai deux options dans ce casQuelle est une bonne approche pour mettre à jour un schéma Solr à des fins multiples/usecases?

  1. Créer un nouveau fichier de schéma et utiliser solr sous forme multi core
  2. fichier schéma existant de mise à jour et ajouter des champs d'information dans ce schéma.

Quelle est la meilleure approche pour cette tâche? S'il y a une autre option que celle ci-dessus, veuillez donner cette option et guide pour une meilleure solution.

Répondre

1

La meilleure approche consiste à utiliser un cœur spécifique pour chaque information d'étendue différente. Cela rend l'indice moins complexe et plus spécifique à une meilleure compréhension et à une recherche de haute performance. Si vous utilisez le même noyau pour indexer des informations sur de nombreuses portées différentes, l'index sera volumineux et complexe, ce qui affectera les performances. Un autre avantage important de partager votre index dans différents cœurs est que vous pouvez utiliser différentes stratégies d'indexation pour chaque cœur.

+0

Pouvez-vous expliquer ce que vous entendez par indexation de stratégies? – Shafiq

+0

Vous pouvez utiliser différentes stratégies d'indexation pour chaque cœur différent. Par exemple: si vous avez un e-commerce et que vous avez besoin d'indexer des produits et ses lots de prix, vous pouvez le diviser en deux indices, l'un des produits et l'autre des prix. Vous pouvez utiliser une stratégie de mise à jour atomique des prix par exemple et une mise à jour complète des produits. Il vous permet d'utiliser différents intervalles d'indexation pour chaque cœur. –

+0

Un autre avantage important de l'utilisation de différents cœurs est que vous pouvez utiliser différentes stratégies de cache pour chacun. –