/// <summary> /// Builds a new PrefixQuery instance /// </summary> /// <param name="prefix">Prefix term</param> /// <returns>new PrefixQuery instance</returns> protected internal virtual Query NewPrefixQuery(Term prefix) { PrefixQuery query = new PrefixQuery(prefix); query.SetRewriteMethod(MultiTermRewriteMethod); return(query); }
public QueryBuilder MatchPrefix(string field, string phrase, MultiTermQuery.RewriteMethod rewriteMethod = null) { if (string.IsNullOrWhiteSpace(phrase)) { return(this); } var query = new PrefixQuery(new Term(field, phrase)); if (rewriteMethod != null) { query.SetRewriteMethod(rewriteMethod); } return(AddSubQuery(query)); }
public virtual Query Build(IQueryNode queryNode) { PrefixWildcardQueryNode wildcardNode = (PrefixWildcardQueryNode)queryNode; string text = wildcardNode.Text.SubSequence(0, wildcardNode.Text.Length - 1).ToString(); PrefixQuery q = new PrefixQuery(new Term(wildcardNode.GetFieldAsString(), text)); MultiTermQuery.RewriteMethod method = (MultiTermQuery.RewriteMethod)queryNode.GetTag(MultiTermRewriteMethodProcessor.TAG_ID); if (method != null) { q.SetRewriteMethod(method); } return(q); }