lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leonard Gestrin <>
Subject question about
Date Mon, 03 Aug 2009 02:44:12 GMT
I have question about KEYWORD type and searching/updating.  I am getting strange behavior
that I can't quite comprehend.
My index is created using standard analyzer, which used for writing and searching. It has
three fields

userpin - alphanumeric field which is stored as TEXT
documentkey  - alphanumeric field which is stored as TEXT
contents - text of document which is stored as TEXT

When I try to update document I am creating Term to find document by documentKey and I am

 org.apache.lucene.index.IndexWriter.updateDocument(term, pDocument);

to do the update.  Lucene fails to find the document by the term and I am getting duplicate
documents in the index.
When I changed index to define documentKey as KEYWORD the updates started to work fine.
However, search for documentKey using StandardAnalyzer stopped working.

It appears that lucene is using keywordAnalyzer for searching for the term during update,
even though the indexer is open with StandardAnalyzer.

The sample values that are stored in documentKeys are: "L2222FAHBHMF", "L2222FAHBHAS".
I noticed if documentKey is numeric value, both KeywordAnalyzer and StandardAnalyzer can find
the documents by it without any problem thus reader can find and indexer can update without
any problems. With alphanumeric I cant get both to work.
Any help is appreciated.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message