The _all field has its own analyzer, so the analyzer that is defined on the createdBy field is not applied.
I have never tried, but I believe the best solution is to use "copy-to" to a custom field: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-core-types.html#copy-to http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/custom-all.html It should copy the tokens post-analysis. Cheers, Ivan On Tue, Jul 29, 2014 at 10:28 AM, Alexey Sidelnikov < [email protected]> wrote: > Hi all! > > Tired to find out the decision. I have some fields in my index that are > not_analized. Suppose something like that in mappings:{ > "test-index-entities": { > "mappings": { > "testobject": { > "properties": { > "__location": { > "type": "geo_point" > }, > "activity_end": { > "type": "long" > }, > "activity_start": { > "type": "long" > }, > "attributes": {}, > "createdBy": { > "type": "string", > "index": "not_analyzed", > "include_in_all": true > } > } > } > } > } > } > > Suppose I have value of "createdBy" attribute equals to "John Smith", and > I want to query ALL documents that have ANY field equals to "John Smith". > As I have field "createdBy" as not_analyzed, I should have one term "John > Smith" in _all field. > > But executing of match query: > { > "match" : { > "_all" : "John Smith" > } > } > > don't give results. I think that is because match query tokenizes query > itself and search for "john" and "smith" terms instead of searching by > not_tokenized "John Smith". In case of > { > "match" : { > "createdBy" : "John Smith" > } > } > all works fine, as ES finds in mappings that field is not tokenized. > > Is there any way to specify in match query not to analyze query string? I > see "analyzer" parameter in documentation > http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-match-query.html, > tried "analyzer" : "none", "analyzer" : "not_analyzed", but it doesn't work. > > > -- > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elasticsearch/c1d9ca4f-a0d3-4a50-a6a5-e3a59f972f5c%40googlegroups.com > <https://groups.google.com/d/msgid/elasticsearch/c1d9ca4f-a0d3-4a50-a6a5-e3a59f972f5c%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CALY%3DcQD2nBVB%2Bdktqr8coLWzXCzqLhc8bcmJisaJ%2Bo2q_-M_rQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
