public static LuceneDocument ToLucene(this MarcellDocument sourceDocument) { LuceneDocument result = new LuceneDocument(); //Add basic document data result.AddStringField("Id", sourceDocument.Id ?? sourceDocument.InternalId.ToString("N"), Field.Store.YES); result.AddStringField("InternalId", sourceDocument.InternalId.ToString("N"), Field.Store.YES); result.AddDateField("ApprovalDate", sourceDocument.ApprovalDate); result.AddDateField("DocumentDate", sourceDocument.DocumentDate); result.AddDateField("EffectiveDate", sourceDocument.EffectiveDate); result.AddStringList("DocumentToken", sourceDocument.DocumentSimilarityData.ConsolidatedTokens); result.AddStringList("DocumentTopic", sourceDocument.DocumentSimilarityData.ConsolidatedTopics); result.AddInt32Field("TokenCount", sourceDocument.TokenCount, Field.Store.YES); result.AddTextField("DocumentType", sourceDocument.DocumentType ?? "", Field.Store.YES); result.AddTextField("OriginalType", sourceDocument.OriginalType ?? "", Field.Store.YES); result.AddTextField("Issuer", sourceDocument.Issuer ?? "", Field.Store.YES); result.AddStringField("Language", sourceDocument.Language, Field.Store.YES); result.AddStringField("Url", sourceDocument.Url ?? "", Field.Store.YES); result.AddScoredDoubleField("RecognitionQuality", sourceDocument.RecognitionQuality); result.AddBoolField("IsStructured", sourceDocument.IsStructured); if (sourceDocument.FileName != null) { result.AddStringField("FileName", sourceDocument.FileName, Field.Store.YES); } return(result); }