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); }
/// <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); } }
/// <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); } }
/// <summary> /// Register a field to have term vectors /// </summary> protected void TermVector(Expression <Func <TReduceResult, object> > field, FieldTermVector termVector) { TermVectors.Add(field, termVector); }