Skip to content

Wildcard Query

A wildcard query returns documents that contain terms matching a wildcard pattern.

Example

import (
    es "github.com/elastic/go-elasticsearch/v8"

    "github.com/sdqri/effdsl/v2"
    mppq "github.com/sdqri/effdsl/v2/queries/matchphraseprefixquery"
)

query, err := effdsl.Define(
    effdsl.WithQuery(
        mppq.MatchPhrasePrefixQuery(
            "field_name",
            "some phrase prefix query",
            mppq.WithAnalyzer("my_analyzer"),
            mppq.WithSlop(2),
            mppq.WithMaxExpansions(10),
        ),
    ),
)

res, err := es.Search(
    es.Search.WithBody(strings.NewReader(query)),
)

Parameters

  • Field (string)
    (Required, positional) The field to search. This is a required parameter.

  • Query (string)
    (Required, positional) The text to search for in the provided field. This is a required parameter.

  • WithAnalyzer (string)
    (Optional, Functional option) Analyzer used to convert the text in the query value into tokens. Defaults to the index-time analyzer mapped for the field. If no analyzer is mapped, the index’s default analyzer is used.

  • WithSlop (int)
    (Optional, Functional option) Maximum number of positions allowed between matching tokens for phrases. Defaults to 0.

  • WithMaxExpansions (int)
    (Optional, Functional option) Maximum number of terms to which the last provided term will expand. Defaults to not expanding terms.

  • WithZeroTermsQuery (ZeroTerms)
    (Optional, Functional option) Indicates what to do when the analyzed text contains no terms. Valid values are:

    • none (Default): No documents are returned if the analyzer removes all tokens.
    • all: Returns all documents, similar to a match_all query.

Additional Information

For more details on the match phrase prefix query and its parameters, refer to the official Elasticsearch documentation on match phrase prefix queries.

"github.com/sdqri/effdsl/v2"
wq "github.com/sdqri/effdsl/v2/queries/wildcardquery"

)

query, err := effdsl.Define( effdsl.WithQuery( wq.WildcardQuery( "user.id", "ki*y", wq.WithBoost(1.0), wq.WithRewrite(wcq.ConstantScoreBlended), ), ), )

res, err := es.Search( es.Search.WithBody(strings.NewReader(query)), ) ```

Parameters

  • Field (string)
    (Required, positional) The field you wish to search. This is a required parameter.

  • Value (string)
    (Required, positional) The wildcard pattern for terms you wish to find in the provided field. This is a required parameter.

  • WithBoost (float64)
    (Optional, Functional option) Floating point number used to decrease or increase the relevance scores of a query. Defaults to 1.0.

  • WithCaseInsensitive (bool)
    (Optional, Functional option) If true, the wildcard pattern is treated as case-insensitive.

  • WithRewrite (Rewrite)
    (Optional, Functional option) Method used to rewrite the query. For valid values and more information, see the rewrite parameter.

Additional Information

For more details on the wildcard query and its parameters, refer to the official Elasticsearch documentation on wildcard queries.