[英]Lucene.net, Error indexing a document with Filed.Store.COMPRESS
我正在开发一个索引,并且需要存储压缩后的值,因为它需要向用户显示该信息。 我遇到了当前错误:当我执行writer.AddDocument(doc);
时,“无法加载ICSharpCode.SharpZipLib.dll” writer.AddDocument(doc);
DLL来自NuGet,我有SharpZipLib,因为它是Lucene.net的依赖。
片段:
System.IO.DirectoryInfo directoryInfo = new System.IO.DirectoryInfo(path);
Directory directory = FSDirectory.Open(directoryInfo);
Analyzer analyzer = new SnowballAnalyzer("Portuguese");
bool isNew = !IndexReader.IndexExists(directory);
IndexWriter writer = new IndexWriter(directory, analyzer, isNew, Lucene.Net.Index.IndexWriter.MaxFieldLength.UNLIMITED);
//Create document
Document doc = new Document();
NumericField numericField = new NumericField("id", Field.Store.YES, false);
numericField.SetIntValue(id);
doc.Add(numericField);
Field field = new Field("title", title, Field.Store.COMPRESS, Field.Index.ANALYZED);
field.SetBoost(7);
doc.Add(field);
field = new Field("description", tescription, Field.Store.COMPRESS, Field.Index.ANALYZED);
doc.Add(field);
writer.AddDocument(doc);
writer.Optimize();
//Close the writer
writer.Commit();
writer.Close();
}
catch (Exception ex)
{ throw ex; }
提前致谢
这意味着lucene在您的构建路径中找不到SharpZipLib DLL,请确保将其复制到项目的输出中
请注意,在最新版本的Lucene中不赞成使用压缩字段,我不建议使用它们。 您应该改用CompressionTools类,或者推出自己的压缩方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.