Lucene.net, Ошибка индексации документа с помощью Filed.Store.COMPRESS - PullRequest
1 голос
/ 16 января 2012

Я разрабатываю индекс, и мне нужно хранить сжатые значения, потому что это необходимо для отображения этой информации пользователю. У меня текущая ошибка: «Не могу загрузить 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; }

Заранее спасибо

1 Ответ

0 голосов
/ 16 января 2012

Это означает, что lucene не может найти DLL SharpZipLib в вашем пути сборки, убедитесь, что она скопирована в выходные данные вашего проекта

Обратите внимание, что сжатые поля устарели в последних версиях Lucene, я бы не рекомендовал их использовать. Вместо этого вы должны использовать класс CompressionTools или развернуть свои собственные методы сжатия.

...