public static IndexWriter AddDocument(this IndexWriter indexWriter, params Action<Document>[] documentActions ) { Document document = new Document(); document.Setup(documentActions); indexWriter.AddDocument(document); return indexWriter; }
/// <summary> /// Adds the lucinq specific fields /// </summary> /// <param name="document"></param> /// <param name="item"></param> protected void AddLucinqFields(Document document, Item item) { StringBuilder templatePathBuilder = new StringBuilder(); AddTemplatePath(item.Template, templatePathBuilder); StringBuilder pathBuilder = new StringBuilder(); AddItemPath(item, pathBuilder); document.Setup( x => x.AddAnalysedField(SitecoreFields.Id, item.ID.ToLuceneId(), true), x => x.AddNonAnalysedField(SitecoreFields.Language, item.Language.Name, true), x => x.AddNonAnalysedField(SitecoreFields.TemplateId, item.TemplateID.ToLuceneId(), true), x => x.AddAnalysedField(SitecoreFields.Name, item.Name, true), x => x.AddAnalysedField(SitecoreFields.TemplatePath, templatePathBuilder.ToString()), x => x.AddAnalysedField(SitecoreFields.Path, pathBuilder.ToString()), x => x.AddAnalysedField(SitecoreFields.Parent, item.ParentID.ToLuceneId()) ); }