protected virtual BaseQuery HandleEndsWith(EndsWithNode node, ElasticSearchQueryMapperState state) { var fieldName = GetFormattedFieldName(node); var valueNode = QueryHelper.GetValueNode <string>(node); var queryValue = ValueFormatter.FormatValueForIndexStorage(valueNode.Value); //TODO: same as the HandleContains method... is there a better way to do this without wildcard queries? return(Query.Wildcard(fieldName, "*" + queryValue)); }
protected QueryBase VisitEndsWith(EndsWithNode node, ElasticQueryMapperState state) { // TODO: Move these 3 lines to separate method for reuse? var fieldName = GetFormattedFieldName(node); var valueNode = node.GetValueNode <string>(); var value = ValueFormatter.FormatValueForIndexStorage(valueNode.Value, fieldName); return(new WildcardQuery { Field = fieldName, Value = "*" + value.ToStringOrEmpty(), Boost = node.Boost }); }
protected virtual QueryNode VisitEndsWith(EndsWithNode node, AzureQueryOptimizerState state) { return((QueryNode) new EndsWithNode(this.Visit(node.LeftNode, state), this.Visit(node.RightNode, state), state.Boost)); }