public static QueryContainer GetQuery(Expression expression, MappingIndex mappingIndex) { var parameter = new ExpressionParameter { CurrentExpression = expression, Context = new ExpressionContext(mappingIndex) }; new BaseResolve(parameter).Start(); return(parameter.Context.QueryContainer); }
public QueryableProvider(IElasticClient client) { _queryBuilder = new QueryBuilder <T>(); _mappingIndex = _queryBuilder.GetMappingIndex(); _request = new SearchRequest(_mappingIndex.IndexName) { Size = 10000 }; _client = client; }
private static MappingIndex InitMappingInfo(Type type) { var mapping = new MappingIndex { Type = type, IndexName = type.Name }; foreach (var property in type.GetProperties()) { mapping.Columns.Add(new MappingColumn { PropertyInfo = property.PropertyType, PropertyName = property.Name, SearchName = FiledHelp.GetValues(property.PropertyType.Name, property.Name) }); } return(mapping); }
public QueryBuilder() { _mappingIndex = InitMappingInfo(); }
public ExpressionContext(MappingIndex mappingIndex) { Mapping = mappingIndex; }