我创建了一个索引,但它有很多垃圾数据。我希望完成的是一个投票系统,其中更多的选票等于更高的提升值。不幸的是,用户提交投票后,提升值不会保存回索引中。
这是我的 Boost 函数的代码细分,有人对我做错了什么有任何想法吗?我使用了 explain(),但它没有任何与提升值相关的内容。
BoostUp(int documentId)
{
IndexSearcher searcher = new IndexSearcher(dir);
Document oldDoc = search.doc(documentId);
//get all the stored information from old document
Document updatedDocument = new Document();
//Add fields containing data from old document.
updatedDocument.Boost = oldDoc.Boost * 1.5F;
IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer(Version.LUCENE_30), false, MaxFieldLength.LIMITED);
Term uniqueTerm = new term("content_id", content_id_from_old_document);
writer.UpdateDocument(uniqueTerm, updatedDocument);
writer.Commit();
writer.Dispose();
}