A stem makes sense when you apply it both in index time and in query time. Now you apply it during the query to search for the source of the words that are part of the query. But I think that the index does not contain stems, since you did not use it when indexing. You are really looking in the _all field, since you did not specify the field name in your query, nor do you use the default_field (or fields ) attribute supported by query_string. The _all field is _all by default using StandardAnalyzer .
There are various solutions to this problem. I personally would decide the set of fields that you want to search for in your query, and apply them to them related to your mapping. After that, you do not need to specify the analyzer in the request, since the configured analyzer will be used for the field in which you are looking.
Let me know if the answer is clear enough.
source share