我使用Spring设置了一个服务器,该服务器接受带有JSON文件的POST请求。然后将此JSON转换为Lucene Document并编制索引。
通常,当JSON到达时,如果此类文档已被索引,则首先使用哈希检查它。如果是,则忽略它。
有时,应用程序因致命错误(SIGSEGV)而崩溃。我希望只有最后一个POST中的JSON无法保存。但是,JSON之前的 ALL (在当前Python运行中的所有前面的POST请求中)都无法保存。我尝试在每次处理完POST后使用<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" >
<ul class="nav d-flex justify-content-between">
<li class="nav-item">
<a class="nav-link active" href="#">Link 1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link 2</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link 3</a>
</li>
</ul>
和flush()
,但无济于事。
如果我决定只发送commit()
POST请求,并且所有结束都没有错误,那么它们将成功保存,以备将来的所有Python运行。
请求按顺序发送。
N
发送JSON请求的Python脚本:
private void index(List<Document> documents) throws CustomException {
try {
IndexWriter writer = getWriter();
for (Document document : documents) {
writer.updateDocument(new Term(document.get(FIELD_ID)), document);
}
writer.flush();
writer.commit();
} catch (IOException ioe) {
throw new CustomException("Failed to open or write into the index.");
}
}