Q: Query_string is case sensitive {
   "query":{
      "bool":{
         "must":[
            {
               "query_string":{
                  "query":"*sony*",
                  "analyze_wildcard":true,
                  "default_field":"title"
               }
            }
         ]
      }
   }
}

should this query above be case-insensitive? but in fact it is case-sensitive, is there any parameter I should add to make it case-insensitive?

A: I'd not use anything like a wildcard query. See https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html

Note that this query can be slow, as it needs to iterate over many terms. In order to prevent extremely slow wildcard queries, a wildcard term should not start with one of the wildcards * or ?. 

Coming back to your question, documentation says about analyze_wildcard:

By default, wildcards terms in a query string are not analyzed. By setting this value to true, a best effort will be made to analyze those as well.

