protected void AddDateTimeField(Document document, DateField field, FieldConfiguration fieldConfiguration) { if (field == null || fieldConfiguration == null) { return; } string fieldName = SitecoreQueryBuilderExtensions.GetEncodedFieldName(field.InnerField.Name); if (fieldConfiguration.Analyze) { document.AddAnalysedField(fieldName, DateTools.DateToString(field.DateTime, DateTools.Resolution.MINUTE), fieldConfiguration.Store); return; } document.AddNonAnalysedField(fieldName, DateTools.DateToString(field.DateTime, DateTools.Resolution.MINUTE), fieldConfiguration.Store); }
protected virtual void AddMultilistField(Document document, MultilistField field, FieldConfiguration fieldConfiguration) { if (field == null || fieldConfiguration == null) { return; } StringBuilder fieldBuilder = new StringBuilder(); bool first = true; foreach (ID targetId in field.TargetIDs) { if (!first) { fieldBuilder.Append(" "); } first = false; fieldBuilder.Append(targetId.ToLuceneId()); } string fieldName = SitecoreQueryBuilderExtensions.GetEncodedFieldName(field.InnerField.Name); if (fieldConfiguration.Analyze) { document.AddAnalysedField(fieldName, fieldBuilder.ToString(), fieldConfiguration.Store); return; } document.AddNonAnalysedField(fieldName, fieldBuilder.ToString(), fieldConfiguration.Store); }
protected virtual void AddValueField(Document document, Field field, FieldConfiguration fieldConfiguration, bool stripHtml = false) { if (field == null || fieldConfiguration == null) { return; } ID valueId; string fieldValue = field.Value; if (stripHtml && !String.IsNullOrEmpty(fieldValue)) { var htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(fieldValue); fieldValue = htmlDoc.DocumentNode.InnerText; } if (ID.TryParse(field.Value, out valueId)) { fieldConfiguration.Analyze = false; fieldValue = valueId.ToLuceneId(); } string fieldName = SitecoreQueryBuilderExtensions.GetEncodedFieldName(field.Name); if (fieldConfiguration.Analyze) { document.AddAnalysedField(fieldName, fieldValue, fieldConfiguration.Store); return; } document.AddNonAnalysedField(fieldName, fieldValue, fieldConfiguration.Store); }
protected virtual void AddLinkField(Document document, LinkField field, FieldConfiguration fieldConfiguration) { if (field == null || fieldConfiguration == null) { return; } string fieldName = SitecoreQueryBuilderExtensions.GetEncodedFieldName(field.InnerField.Name); if (fieldConfiguration.Analyze) { document.AddAnalysedField(fieldName, field.TargetID.ToLuceneId(), fieldConfiguration.Store); return; } document.AddNonAnalysedField(fieldName, field.TargetID.ToLuceneId(), fieldConfiguration.Store); }