Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }