You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by Xavier Lembo <xa...@spotk.net> on 2005/06/20 10:18:15 UTC

tried to access field org.apache.lucene.analysis.Token.termText from class org.apache.lucene.analysis.StopFilter

Hi list,

i'm facing an exception that i don't understand when trying to index a
source with the StandardAlayzer

everything works fine when i use my french AnalyserFr() , but exception
is raised when using the StandardAnalyzer

Can somebody help me find the cause of this error because i really have
no idea where to search to solve this problem?

Thanks

Xavier


------------------------------------------------------------
here is the exception:

java.lang.IllegalAccessError: tried to access field
org.apache.lucene.analysis.Token.termText from class
org.apache.lucene.analysis.StopFilter
at org.apache.lucene.analysis.StopFilter.next(StopFilter.java:99)
at
org.apache.lucene.index.DocumentWriter.invertDocument(DocumentWriter.java:155)
at
org.apache.lucene.index.DocumentWriter.addDocument(DocumentWriter.java:84)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:410)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:396)
at org.elix.indexer.VeilleIndexer.newIndexVeille(Unknown Source)

and here is the code i use to index my document:

------------------------------------------------------------
if (langage.equals("fr")){
	analyzer = new AnalyserFr();
	logger.debug("Indexation de la veille en utilisant les stemmers FR ");
   }
else {
	analyzer =	new StandardAnalyzer();
	logger.debug("Indexation de la veille en utilisant le stemmers EN
Standard ");
}

IndexWriter writer = null;
try {
	writer = new IndexWriter(indexPath, analyzer, createIndex);
				logger.info("Ajout de la veille: " + 						rs.getString("titre"));
			
//On recupere le champ content du document arrivé pour y ajouter un boost
Field content = doc.getField("sourcecontent");
content.setBoost(bcontent);
				
// on ajoute les colonnes utilisées au document lucene en detachant la
construction
//des champs afin de pouvoir leur assigner un boost

Field ftitre = Field.Text("titre",titre);
ftitre.setBoost(btitre);
Field fresume= Field.Text("resume", resume);
fresume.setBoost(bresume);
Field fdetail= Field.Text("detail", detail);
				
Field fkeywords = Field.Keyword("keywords", keywords);
fkeywords.setBoost(bkeywords);
				
doc.add(Field.Keyword("veille_id", id));
doc.add(Field.Keyword("theme_id", theme_id));
doc.add(Field.Keyword("themeLeft", Functions.padString(themeLeft, "0", 6)));
doc.add(Field.Keyword("secteur_id", secteur_id));
doc.add(Field.Keyword("secteurLeft", Functions.padString(secteurLeft,
"0", 6)));
doc.add(fkeywords);
doc.add(Field.Keyword("indexDate", new Date()));
doc.add(ftitre);
doc.add(fresume);
doc.add(fdetail);

				
//Ajout d'un champ contenant tous les textes
doc.add(Field.UnStored("allcontent", fkeywords + " " + ftitre + " " +
fresume +  " " + fdetail +  " " + content));

// On ajoute notre document a l'index
writer.addDocument(doc);
writer.optimize();
writer.close();

}  catch(Exception ee){
	throw ee;
}
finally{
	 writer.close();
}
--------------------------------------------------------------------------


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org