uygar yuzsuren created LUCENE-6983:
--------------------------------------
Summary: IndexWriter.updateDocument on FSDirectory does not work
Ver.5.4.0
Key: LUCENE-6983
URL: https://issues.apache.org/jira/browse/LUCENE-6983
Project: Lucene - Core
Issue Type: Bug
Components: core/index
Affects Versions: 5.4
Environment: Windows 8, Java 1.8.0_60
Reporter: uygar yuzsuren
I try to create a simple index and then update documents (with
IndexWriter.updateDocuments). When I use RAMDirectory it works fine
(IndexWriter.numDocs returns correct value, IndexSearcher.search returns
correct hits). However, when I use FSDirectory it creates duplicate documents,
and IndexSearcher returns multiple documents with same key field values. Here
is the code excerpt:
//This code is in a thread and it updates documents with regular intervals, say
1 min.
Analyzer analyzer = new StandardAnalyzer();
try {
Path path = Paths.get(indexDirectory);
Directory directory = FSDirectory.open(path);
IndexWriterConfig config = new IndexWriterConfig(analyzer);
IndexWriter iwriter = new IndexWriter(directory, config);
System.out.println("Document count=" + iwriter.numDocs());
for (Company newCompany : newCompanies)
{ Document doc = new Document(); doc.add(new Field("entityid", "Company" +
newCompany.getId().toString(), TextField.TYPE_STORED)); doc.add(new
Field("companyname", newCompany.getName(), TextField.TYPE_NOT_STORED)); Term
term = new Term("entityid", "Company" + newCompany.getId().toString());
iwriter.updateDocument(term, doc); }
iwriter.flush();
iwriter.commit();
System.out.println("Document count2=" + iwriter.numDocs());
iwriter.close();
} catch (IOException e1)
{ e1.printStackTrace(); }
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]