2010-04-21 5 views
1

Face à lenteur des performances de recherche en utilisant Lucene.Net (+ NHibernate.Search mais cela n'a pas d'importance).Lente performance de recherche Lucene.Net

Luke Vue d'ensemble de la boîte à outils:

  • Nombre de champs: 33
  • Nombre de documents: 5607
  • Nombre de termes: 101377
  • a-suppressions?/Optimisé ?: Oui (97478)/Non

Le répertoire d'index est ~ 200Mb de large.

requête (en utilisant org.apache.lucene.analysis.SimpleAnalyzer)

Title:lapsa~0.5 Abstract:lapsa~0.5 Content:lapsa~0.5 Location:lapsa~0.5 Author:lapsa~0.5

prend ~ 60000ms en moyenne.


Je soupçonne qu'il me manque quelque chose d'important. Des idées ce qui ne va pas? Ne peut pas être que c'est normal.


Essayé de les 'vérifier' et de les 'réparer'. Doit cocher Don't open IndexReader (when opening corrupted index), sinon Check index tool ne veut pas apparaître.

Résultats de la vérification:

BAD: missingSegments

sortie de diagnostic:

ERROR: could not read any segments file in directory java.io.FileNotFoundException: no segments* file found in [email protected]:\Temp\Index: files: at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:655) at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:538) at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:306) at org.apache.lucene.index.CheckIndex.checkIndex(CheckIndex.java:340) at org.apache.lucene.index.CheckIndex.checkIndex(CheckIndex.java:319) at org.getopt.luke.Luke$6.run(Unknown Source)

tenté d'appuyer sur Fix Index. Vous avez ceci:

ERROR during Fix Index: java.lang.NullPointerException at org.apache.lucene.index.CheckIndex.fixIndex(CheckIndex.java:781) at org.getopt.luke.Luke$7.run(Unknown Source)

+0

Avez-vous essayé d'optimiser? Il semble que vous ayez un * lot * de suppressions en cours ... –

+0

@codeka quand j'appuie sur 'luke-> tools-> optimize index', il dit' Failed: no index, ou l'index est fermé. Rouvrez-le. "Et la réouverture n'aide pas –

Répondre

2

Semble à moi comme si vous avez un index corrompu. Y at-il des fichiers dans votre dossier D: \ Temp \ Index? Je suppose qu'il doit y avoir ou la recherche ne fonctionnerait pas du tout ... Quelle version de Lucene.Net utilisez-vous? Les versions antérieures utilisées pour corrompre l'index pour moi à la baisse d'un chapeau, mais les versions ultérieures semblent être beaucoup mieux à cet égard.

Si vous ne pouvez pas le comprendre, vous devrez peut-être reconstruire l'index à partir de zéro.

0

Dans Luc allez dans le menu Outils et sélectionnez l'outil d'index de contrôle. Voyez si votre index est corrompu ou a d'autres problèmes.

+0

Il dit qu'il manque des segments Wtf? –

+0

Avez-vous réussi à le faire réparer? –

0

This on m'a aidé. Activé l'optimisation automatique.