# Analyzer not found

**URL:** <https://discuss.elastic.co/t/analyzer-not-found/7421>\
**Category:** Elasticsearch\
**Created:** [April 20, 2012, 1:05pm UTC](https://discuss.elastic.co/t/analyzer-not-found/7421 "2012-04-20T13:05:52Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![bgossey](https://avatars.discourse-cdn.com/v4/letter/b/f14d63/32.png) [@bgossey](https://discuss.elastic.co/u/bgossey)\
**Post date:** [April 20, 2012, 1:05pm UTC](https://discuss.elastic.co/t/analyzer-not-found/7421/1 "2012-04-20T13:05:52Z")

</div>

Hello,

I've defined an analyzer in my settings and updated the index with  
this new settings:

{"settings": {  
"analysis" :{  
"analyzer": {  
"exact\_analyzer": {  
"type": "custom",  
"tokenizer":"my\_pattern\_tokenizer",  
"filter":[]  
}  
},  
"tokenizer": {  
"my\_pattern\_tokenizer": {  
"type":"pattern",  
"pattern":"$^"  
}  
},  
"filter": {  
}  
}  
}  
}

If I do a get for my settings (curl -XGET '[http://xxx:9200/\_settings](http://xxx:9200/_settings)'), I see the following result

{"yellow\_listings":{"settings":  
{"index.number\_of\_shards":"5","index.number\_of\_replicas":"0","index.version.created":"190199","index.settings.analysis.tokenizer.my\_pattern\_tokenizer.pattern":"$^","index.settings.analysis.analyzer.exact\_analyzer.type":"custom","index.settings.analysis.tokenizer.my\_pattern\_tokenizer.type":"pattern","index.settings.analysis.analyzer.exact\_analyzer.tokenizer":"my\_pattern\_tokenizer"}}}

So this looks ok. But when I try to create a mapping for my fields  
using this analyzer I get the error:

Exception in thread "main"  
org.elasticsearch.index.mapper.MapperParsingException: Analyzer  
[exact\_analyzer] not found for field [exactCategory]

My mapping for this field:  
"category":{"type":"multi\_field", "fields":{  
"category" : {"type" : "string"},  
"exactCategory" : {"type" : "string", "store": "yes",  
"analyzer":"exact\_analyzer"}  
}  
},

Any idea's?

thanks,  
Bert

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [April 21, 2012, 3:05pm UTC](https://discuss.elastic.co/t/analyzer-not-found/7421/2 "2012-04-21T15:05:17Z")

</div>

This seem to work: [gist:2437609 · GitHub](https://gist.github.com/2437609). If you still can't get  
it to work, post a full recreation. Btw, why do you store the field?

On Fri, Apr 20, 2012 at 4:05 PM, bert gossey [bgossey@hotmail.com](mailto:bgossey@hotmail.com) wrote:

> Hello,
> 
> I've defined an analyzer in my settings and updated the index with  
> this new settings:
> 
> {"settings": {  
> "analysis" :{  
> "analyzer": {  
> "exact\_analyzer": {  
> "type": "custom",  
> "tokenizer":"my\_pattern\_tokenizer",  
> "filter":  
> }  
> },  
> "tokenizer": {  
> "my\_pattern\_tokenizer": {  
> "type":"pattern",  
> "pattern":"$^"  
> }  
> },  
> "filter": {  
> }  
> }  
> }  
> }
> 
> If I do a get for my settings (curl -XGET '[http://xxx:9200/](http://xxx:9200/)  
> \_settings'), I see the following result
> 
> {"yellow\_listings":{"settings":
> 
> {"index.number\_of\_shards":"5","index.number\_of\_replicas":"0","index.version.created":"190199","index.settings.analysis.tokenizer.my\_pattern\_tokenizer.pattern":"$^","index.settings.analysis.analyzer.exact\_analyzer.type":"custom","index.settings.analysis.tokenizer.my\_pattern\_tokenizer.type":"pattern","index.settings.analysis.analyzer.exact\_analyzer.tokenizer":"my\_pattern\_tokenizer"}}}
> 
> So this looks ok. But when I try to create a mapping for my fields  
> using this analyzer I get the error:
> 
> Exception in thread "main"  
> org.elasticsearch.index.mapper.MapperParsingException: Analyzer  
> [exact\_analyzer] not found for field [exactCategory]
> 
> My mapping for this field:  
> "category":{"type":"multi\_field", "fields":{  
> "category" : {"type" : "string"},  
> "exactCategory" : {"type" :  
> "string", "store": "yes",  
> "analyzer":"exact\_analyzer"}  
> }  
> },
> 
> Any idea's?
> 
> thanks,  
> Bert

---

<div class="post-metadata">

**Author:** ![bgossey](https://avatars.discourse-cdn.com/v4/letter/b/f14d63/32.png) [@bgossey](https://discuss.elastic.co/u/bgossey)\
**Post date:** [April 22, 2012, 10:01am UTC](https://discuss.elastic.co/t/analyzer-not-found/7421/3 "2012-04-22T10:01:45Z")

</div>

Hi,

Thanks for your answer. I was creating and updating the settings,  
using the java API. I tried your version (using the REST API) and that  
seems to work. I need to check what I did wrong in my java code.

The store is simply something I took from an example I was using. What  
does store exactly mean?

thank,  
Bert

On Apr 21, 5:05 pm, Shay Banon [kim...@gmail.com](mailto:kim...@gmail.com) wrote:

> This seem to work:[gist:2437609 · GitHub](https://gist.github.com/2437609). If you still can't get  
> it to work, post a full recreation. Btw, why do you store the field?
> 
> On Fri, Apr 20, 2012 at 4:05 PM, bert gossey [bgos...@hotmail.com](mailto:bgos...@hotmail.com) wrote:
> 
> > Hello,
> 
> > I've defined an analyzer in my settings and updated the index with  
> > this new settings:
> 
> > {"settings": {  
> > "analysis" :{  
> > "analyzer": {  
> > "exact\_analyzer": {  
> > "type": "custom",  
> > "tokenizer":"my\_pattern\_tokenizer",  
> > "filter":  
> > }  
> > },  
> > "tokenizer": {  
> > "my\_pattern\_tokenizer": {  
> > "type":"pattern",  
> > "pattern":"$^"  
> > }  
> > },  
> > "filter": {  
> > }  
> > }  
> > }  
> > }
> 
> > If I do a get for my settings (curl -XGET '[http://xxx:9200/](http://xxx:9200/)  
> > \_settings'), I see the following result
> 
> > {"yellow\_listings":{"settings":
> 
> > {"index.number\_of\_shards":"5","index.number\_of\_replicas":"0","index.version .created":"190199","index.settings.analysis.tokenizer.my\_pattern\_tokenizer. pattern":"$^","index.settings.analysis.analyzer.exact\_analyzer.type":"custo m","index.settings.analysis.tokenizer.my\_pattern\_tokenizer.type":"pattern", "index.settings.analysis.analyzer.exact\_analyzer.tokenizer":"my\_pattern\_tok enizer"}}}
> 
> > So this looks ok. But when I try to create a mapping for my fields  
> > using this analyzer I get the error:
> 
> > Exception in thread "main"  
> > org.elasticsearch.index.mapper.MapperParsingException: Analyzer  
> > [exact\_analyzer] not found for field [exactCategory]
> 
> > My mapping for this field:  
> > "category":{"type":"multi\_field", "fields":{  
> > "category" : {"type" : "string"},  
> > "exactCategory" : {"type" :  
> > "string", "store": "yes",  
> > "analyzer":"exact\_analyzer"}  
> > }  
> > },
> 
> > Any idea's?
> 
> > thanks,  
> > Bert

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [April 25, 2012, 3:36pm UTC](https://discuss.elastic.co/t/analyzer-not-found/7421/4 "2012-04-25T15:36:01Z")

</div>

Store effectively means store this field value on its own. By default  
though, \_source is stored, and if you specify a field "path", it will  
automatically load, parse and extract it from source for you if the field  
itself is not stored.

On Sun, Apr 22, 2012 at 1:01 PM, bert gossey [bgossey@hotmail.com](mailto:bgossey@hotmail.com) wrote:

> Hi,
> 
> Thanks for your answer. I was creating and updating the settings,  
> using the java API. I tried your version (using the REST API) and that  
> seems to work. I need to check what I did wrong in my java code.
> 
> The store is simply something I took from an example I was using. What  
> does store exactly mean?
> 
> thank,  
> Bert
> 
> On Apr 21, 5:05 pm, Shay Banon [kim...@gmail.com](mailto:kim...@gmail.com) wrote:
> 
> > This seem to work:[gist:2437609 · GitHub](https://gist.github.com/2437609). If you still can't  
> > get  
> > it to work, post a full recreation. Btw, why do you store the field?
> > 
> > On Fri, Apr 20, 2012 at 4:05 PM, bert gossey [bgos...@hotmail.com](mailto:bgos...@hotmail.com)  
> > wrote:
> > 
> > > Hello,
> > 
> > > I've defined an analyzer in my settings and updated the index with  
> > > this new settings:
> > 
> > > {"settings": {  
> > > "analysis" :{  
> > > "analyzer": {  
> > > "exact\_analyzer": {  
> > > "type": "custom",  
> > > "tokenizer":"my\_pattern\_tokenizer",  
> > > "filter":  
> > > }  
> > > },  
> > > "tokenizer": {  
> > > "my\_pattern\_tokenizer": {  
> > > "type":"pattern",  
> > > "pattern":"$^"  
> > > }  
> > > },  
> > > "filter": {  
> > > }  
> > > }  
> > > }  
> > > }
> > 
> > > If I do a get for my settings (curl -XGET '[http://xxx:9200/](http://xxx:9200/)  
> > > \_settings'), I see the following result
> > 
> > > {"yellow\_listings":{"settings":
> > 
> > >
> 
> {"index.number\_of\_shards":"5","index.number\_of\_replicas":"0","index.version  
> .created":"190199","index.settings.analysis.tokenizer.my\_pattern\_tokenizer.  
> pattern":"$^","index.settings.analysis.analyzer.exact\_analyzer.type":"custo  
> m","index.settings.analysis.tokenizer.my\_pattern\_tokenizer.type":"pattern",  
> "index.settings.analysis.analyzer.exact\_analyzer.tokenizer":"my\_pattern\_tok  
> enizer"}}}
> 
> > > So this looks ok. But when I try to create a mapping for my fields  
> > > using this analyzer I get the error:
> > 
> > > Exception in thread "main"  
> > > org.elasticsearch.index.mapper.MapperParsingException: Analyzer  
> > > [exact\_analyzer] not found for field [exactCategory]
> > 
> > > My mapping for this field:  
> > > "category":{"type":"multi\_field", "fields":{  
> > > "category" : {"type" :  
> > > "string"},  
> > > "exactCategory" : {"type" :  
> > > "string", "store": "yes",  
> > > "analyzer":"exact\_analyzer"}  
> > > }  
> > > },
> > 
> > > Any idea's?
> > 
> > > thanks,  
> > > Bert

---

<div class="post-metadata">

**Author:** ![mradamlacey](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mradamlacey/32/2384_2.png) [@mradamlacey](https://discuss.elastic.co/u/mradamlacey)\
**Post date:** [April 19, 2013, 1:30am UTC](https://discuss.elastic.co/t/analyzer-not-found/7421/5 "2013-04-19T01:30:08Z")

</div>

I would add that I ran into the same issue with the analyzer not found.

I was adding analyzers inthe elasticsearch.yml config file. I overlooked however adding the same analyzer config in another node's config file.

So when I then tried to reference the analyzer when PUTting a mapping - I got the analyzer not found.

I suspect if I had used the REST API for \_settings to add the analyzer - that wouldnt have happened.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 2:40am UTC](https://discuss.elastic.co/t/analyzer-not-found/7421/6 "2017-07-06T02:40:31Z")

</div>


