I'm trying to figure out the best way to search using a query string query where each document in my index has several hundred fields/properties. For, for example, let's say this is a document:
{
"employeeID": 123,
"firstName": "John",
"lastName": "Smith",
"anotherField1": "value" ...
...
"anotherField200": "value"
}
Is there a performance disadvantage to specifying, say, 200 fields in my query, like:
GET /_search
{
"query": {
"query_string" : {
"fields" : ["firstName", "lastName", "anotherField1"... "anotherField200"],
"query" : "this AND that"
}
}
}
vs.
GET /_search
{
"query": {
"query_string" : {
"query" : "this AND that"
}
}
}
which would query the _all
field?
I would think so, but I haven't been able to find anything specifically saying this, or information about how many fields in a multi-field query is too many. I don't like the idea of using the _all
field for several reasons - I would prefer to implement query-time boosting, and I'd like to apply different analyzers to some fields, to name a couple of reasons.