Simple Query String Query
The SimpleQueryString query provides a simple query syntax for performing searches across multiple fields.
To use the SimpleQueryString query, import the following:
import zio.elasticsearch.query.SimpleQueryStringQuery
import zio.elasticsearch.ElasticQuery._
You can create a SimpleQueryString query without specifying fields using the simpleQueryString method:
val query: SimpleQueryStringQuery[Any] = simpleQueryString(query = "name")
If you want to specify which fields should be searched, you can use the fields method:
val query: SimpleQueryStringQuery[Document] =
simpleQueryString(query = "name").fields("stringField1", "stringField2")
To define fields in a type-safe manner, use the overloaded fields method with field definitions from your document:
val query: SimpleQueryStringQuery[Document] =
simpleQueryString(query = "name").fields(Document.stringField1, Document.stringField2)
Alternatively, you can pass a Chunk of fields:
val query: SimpleQueryStringQuery[Document] =
simpleQueryString(query = "name").fields(Chunk(Document.stringField1, Document.stringField2))
If you want to define the minimum_should_match parameter, use the minimumShouldMatch method:
val query: SimpleQueryStringQuery[Any] =
simpleQueryString(query = "name").minimumShouldMatch(2)
You can also construct the query manually with all parameters:
val query: SimpleQueryStringQuery[Document] =
SimpleQueryString(
query = "name",
fields = Chunk("stringField"),
minimumShouldMatch = Some(2)
)