Beispiel #1
0
        public Companies_CustomAnalyzers()
        {
            Map = companies => from company in companies
                  select new {
                company.Name,
                company.Desc,
                company.Email,
                company.Address1,
                company.Address2,
                company.Address3,
                company.Phone
            };

            Analyzers.Add(c => c.Name, typeof(Lucene.Net.Analysis.Standard.StandardAnalyzer).ToString());
            Analyzers.Add(c => c.Desc, typeof(Lucene.Net.Analysis.StopAnalyzer).ToString());
            Analyzers.Add(c => c.Email, typeof(Lucene.Net.Analysis.StopAnalyzer).ToString());
            Analyzers.Add(c => c.Address1, typeof(Lucene.Net.Analysis.SimpleAnalyzer).ToString());
            Analyzers.Add(c => c.Address2, typeof(Lucene.Net.Analysis.WhitespaceAnalyzer).ToString());
            Analyzers.Add(c => c.Address3, typeof(Lucene.Net.Analysis.KeywordAnalyzer).ToString());
            Analyzers.Add(c => c.Phone, typeof(Lucene.Net.Analysis.Standard.StandardAnalyzer).ToString());

            Stores.Add(c => c.Name, FieldStorage.Yes);
            Stores.Add(c => c.Desc, FieldStorage.Yes);

            Indexes.Add(c => c.Email, FieldIndexing.NotAnalyzed);

            TermVectors.Add(c => c.Name, FieldTermVector.WithPositionsAndOffsets);
        }
Beispiel #2
0
        /// <summary>
        /// Remove the default values that we don't actually need
        /// </summary>
        public void RemoveDefaultValues()
        {
            var defaultStorage = IsMapReduce ? FieldStorage.Yes : FieldStorage.No;

            foreach (var toRemove in Stores.Where(x => x.Value == defaultStorage).ToArray())
            {
                Stores.Remove(toRemove);
            }
            foreach (var toRemove in Indexes.Where(x => x.Value == FieldIndexing.Default).ToArray())
            {
                Indexes.Remove(toRemove);
            }
            foreach (var toRemove in SortOptions.Where(x => x.Value == Indexing.SortOptions.None).ToArray())
            {
                SortOptions.Remove(toRemove);
            }
            foreach (var toRemove in Analyzers.Where(x => string.IsNullOrEmpty(x.Value)).ToArray())
            {
                Analyzers.Remove(toRemove);
            }
            foreach (var toRemove in Suggestions.Where(x => x.Value.Distance == StringDistanceTypes.None).ToArray())
            {
                Suggestions.Remove(toRemove);
            }
            foreach (var toRemove in TermVectors.Where(x => x.Value == FieldTermVector.No).ToArray())
            {
                TermVectors.Remove(toRemove);
            }
        }
Beispiel #3
0
        /// <summary>
        /// Remove the default values that we don't actually need
        /// </summary>
        public void RemoveDefaultValues()
        {
            const FieldStorage defaultStorage = FieldStorage.No;

            foreach (var toRemove in Stores.Where(x => x.Value == defaultStorage).ToArray())
            {
                Stores.Remove(toRemove);
            }
            foreach (var toRemove in Indexes.Where(x => x.Value == FieldIndexing.Default).ToArray())
            {
                Indexes.Remove(toRemove);
            }
            foreach (var toRemove in SortOptions.Where(x => x.Value == Indexing.SortOptions.None).ToArray())
            {
                SortOptions.Remove(toRemove);
            }
            foreach (var toRemove in Analyzers.Where(x => string.IsNullOrEmpty(x.Value)).ToArray())
            {
                Analyzers.Remove(toRemove);
            }
            foreach (var toRemove in TermVectors.Where(x => x.Value == FieldTermVector.No).ToArray())
            {
                TermVectors.Remove(toRemove);
            }
        }
Beispiel #4
0
 /// <summary>
 /// Register a field to have term vectors
 /// </summary>
 protected void TermVector(Expression <Func <TReduceResult, object> > field, FieldTermVector termVector)
 {
     TermVectors.Add(field, termVector);
 }