2011-08-25 4 views
1

Je cherche à implémenter un nuage de tags haute performance dans Solr.Solr Tag Cloud haute performance

J'ai une base de données Solr avec 15 millions d'enregistrements et plus ajouté chaque jour. J'ai un champ dans lequel plusieurs instructions de copie copient des données dans. Il peut avoir n'importe où entre 1 et 6 valeurs. Ces valeurs sont généralement une phrase ou deux (données de chaîne). J'ai essayé de créer un type de champ personnalisé pour optimiser & afin de scinder le champ pour une facette rapide, mais les performances sont médiocres.

Voici le champ personnalisé que j'ai créé.

<fieldType name="KeywordCloud" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true"> 
    <analyzer type="index"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
    <filter class="solr.StopFilterFactory" 
      ignoreCase="true" 
      words="stopwords.txt" 
      enablePositionIncrements="true" 
      /> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
    <filter class="solr.StopFilterFactory" 
      ignoreCase="true" 
      words="stopwords.txt" 
      enablePositionIncrements="true" 
      /> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
</fieldType> 

Toutes les suggestions sur la façon dont je peux obtenir des performances au moins raisonnable lorsque facettage ce domaine? Ou y a-t-il une approche totalement différente que je peux prendre?

Cette approche fonctionne très bien quand j'ai seulement un index d'un million de documents, mais 15 millions et plus me donne des problèmes.

Merci d'avance!

Répondre

0

Avez-vous jouer avec le cache solr? À mesure que le nombre de termes uniques d'un champ augmente, vous devez agrandir le cache en conséquence. Voir this link pour plus de détails. Faites attention sur le cache du filtre et sur le cache du champ.

+0

Merci pour cela! Y a-t-il des recommandations définies que je peux suivre? Ce serait génial s'il y avait des maths que je pourrais appliquer pour déterminer la configuration optimale. –

+0

Pas vraiment mathématique, mais vous pouvez surveiller les statistiques du cache pendant que vous faites des requêtes sur votre index (recherchez le lien "Statistiques"> "Cache" dans la console Solr Admin). Si vous voyez de nombreuses expulsions, la taille de votre cache est probablement trop faible. Mais n'allez pas trop haut car cela pourrait aussi nuire à votre système. –