代码拉取完成,页面将自动刷新
异常信息如下:
java.lang.IllegalArgumentException: startOffset must be non-negative, and endOffset must be >= startOffset, and offsets must not go backwards startOffset=0,endOffset=14,lastStartOffset=12 for field 'name'
at org.apache.lucene.index.DefaultIndexingChain$PerField.invert(DefaultIndexingChain.java:952)
at org.apache.lucene.index.DefaultIndexingChain.processField(DefaultIndexingChain.java:524)
at org.apache.lucene.index.DefaultIndexingChain.processDocument(DefaultIndexingChain.java:488)
at org.apache.lucene.index.DocumentsWriterPerThread.updateDocuments(DocumentsWriterPerThread.java:208)
at org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:419)
at org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1471)
at org.apache.lucene.index.IndexWriter.addDocuments(IndexWriter.java:1444)
程序环境:
单 IndexWriter 实例,多线程同时调用 writer 的 addDocuments 方法。实际测试发现如果是单线程进行写入的话没发生异常,而多线程写入的时候,100% 重现。 但是错误似乎是随机的,因为同一个文档,这次测试失败,下一次就又成功了。