public IIndexBuilder AddIndex(IIndexConfig index) { var builder = this.CreateIndex(index); this.Expressions.Add(builder); return(builder); }
public IIndexBuilder CreateIndex(IIndexConfig index) { if (index == null) { throw new NotImplementedException(); } return(this.Fragment <IIndexBuilder>().With(builder => builder.Index = index)); }
public BaseIndexConfig(IIndexConfig indexConfig) { Name = indexConfig.Name; IncludeFields = indexConfig.IncludeFields; ExcludeFields = indexConfig.ExcludeFields; Type = indexConfig.Type; Path = indexConfig.Path; Analyzer = indexConfig.Analyzer; }
public void RegisterIndex(IIndexConfig index) { if (Indexes.TryGetValue(index.Name, out IIndexConfig baseConfig) == true) { if (!(index is BaseIndexConfig config)) { config = new BaseIndexConfig(index); } index = _mappingHelper.Map<IIndexConfig>(baseConfig, config); } Indexes[index.Name] = index; }
public bool Equals(IIndexConfig other) { if (other == null) { return(false); } if ((TableConfig)this.Table != (TableConfig)other.Table) { return(false); } if (!this.Columns.SequenceEqual(other.Columns, true)) { return(false); } return(true); }
public IIndexBuilder GetIndex(IIndexConfig index) { return(this.GetExpression <IIndexBuilder>(builder => IndexComparer.IndexConfig.Equals(builder.Index, index))); }