I understand that my fields aren't in the _all field and that's why my query fails. But shouldn't they be included in _all by default according to the documentation, "index" defaults to "analyzed" and "include_in_all" default to "true"? http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-core-types.html#string
In any case when i set both of those explicitly it still doesn't return anything when i query with: curl -XGET ' http://localhost:9200/urls/_search?q=jen&analyzer=trigrams&pretty=true <http://localhost:9200/urls/_search?q=jen&analyzer=trigrams&pretty=true&df=title> ' I updated the gist with the explicit use of index and include_in_all as reported by elasticsearch: https://gist.github.com/luuse/cb707b85c73f8e82cd8d#file-new_mapping-json On Wednesday, June 25, 2014 2:28:28 PM UTC+2, Andreas Falk wrote: > > Hey, > > Yeah, that was it. Thanks! > > Andreas > > On Tuesday, June 24, 2014 2:13:10 PM UTC+2, Cédric Hourcade wrote: >> >> Hello, >> >> You are performing a search by uri, by default it searches in the _all >> field. In your case this field doesn't use at all your trigrams >> analyzer. >> >> You could either pass an explicit query : {"query": {...} }, or >> specify which field you want to match: curl -XGET >> ' >> http://localhost:9200/urls/_search?q=jen&analyzer=trigrams&pretty=true&df=title' >> >> >> >> I think it works for "jen*" because it's converted into a wildcard query. >> >> For the termvectors, you have to enable them in your mapping: >> >> http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-core-types.html#string >> >> >> >> Cédric Hourcade >> [email protected] >> >> >> On Tue, Jun 24, 2014 at 12:47 PM, Andreas Falk <[email protected]> >> wrote: >> > Hey, >> > >> > I'm trying to get a trigram analyzer working but i'm fairly sure i'm >> doing >> > something wrong because as i understand it it doesn't generate any >> terms at >> > all for my document. I've done a complete log with curl commands of >> what i'm >> > doing here: https://gist.github.com/luuse/cb707b85c73f8e82cd8d >> > >> > 1. So i start with creating the index and at the same time i add the >> > analyzer and a mapping for all fields in my document. The response when >> i >> > create it is in create.json and the body i send is in mapping.json. >> > 2. I index the document in url.json and get the response in index.json >> > 3. I get the termvector in termvector.json >> > 4. I query it with "jen" and the analyzer trigrams figuring it should >> match >> > against "jenkins" but no results >> > 5. I query it with "jen*" and still the analyzer trigrams and get the >> > jenkins result >> > >> > So I have two questions... >> > >> > a. When i fetch the termvector it looks like it empty. Is this correct? >> > b. Have i missed some detail or what am i doing wrong? Why isn't it >> working? >> > >> > I can provide more details if you want. I'm running v1.2.1 in a docker >> > container. >> > >> > Cheers >> > Andreas >> > >> > -- >> > 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/e4fef398-0941-4471-8efa-a97878fcb210%40googlegroups.com. >> >> >> > 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/0e44d37c-222b-4162-a26f-fa5e4687acb7%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
