Weighted fields in query string or boost in should clauses

Which way is better to accomplish query_string field search in multiple
fields with different weights?

1st way:

{
"query": {
"query_string": {
"query": "cats",
"fields": [
"en_keywords_1^5",
"en_keywords_2^2",
"en_keywords_3"
],
"use_dis_max": true
}
}
}

2nd way:

{
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "cats",
"fields": [
"en_keywords_1",
"en_keywords_2",
"en_keywords_3"
]
}
}
],
"should": [
{
"query_string": {
"query": "cats",
"fields": [
"en_keywords_1"
],
"boost": 5
}
},
{
"query_string": {
"query": "cats",
"fields": [
"en_keywords_2"
],
"boost": 3
}
}

        ]
    }
}

}

and What are pros and cons of both approaches?

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/668da3ec-2e2b-4db1-bfc3-d62d8ff2e8f1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.