Hi, i found the problem.
Please look the class
org.elasticsearch.index.mapper.DocumentMapper.java
The order of rootMappers is very important because the
this.rootMappers.put(AllFieldMapper.class, new AllFieldMapper());
is need came after
this.rootMappers.put(AnalyzerMapper.class, new AnalyzerMapper());
I change the Map of rootMappers to LinkedHashMap, and change the
order of put in this map.
I need do it because in class AllFieldMapper.java the
context.analyzer(), came null.
private Analyzer findAnalyzer(ParseContext context) {
Analyzer analyzer = indexAnalyzer;
if (analyzer == null) {
analyzer = context.analyzer();
if (analyzer == null) {
analyzer = Lucene.STANDARD_ANALYZER;
}
}
return analyzer;
}
look down:
private Map<Class<? extends RootMapper>, RootMapper> rootMappers = new
LinkedHashMap<Class<? extends RootMapper>, RootMapper>();//
Maps.newHashMap();
this.rootMappers.put(IdFieldMapper.class, idFieldMapper);
// add default mappers
this.rootMappers.put(SizeFieldMapper.class, new SizeFieldMapper());
this.rootMappers.put(IndexFieldMapper.class, new
IndexFieldMapper());
this.rootMappers.put(SourceFieldMapper.class, new
SourceFieldMapper());
this.rootMappers.put(TypeFieldMapper.class, new TypeFieldMapper());
this.rootMappers.put(AnalyzerMapper.class, new AnalyzerMapper());
this.rootMappers.put(AllFieldMapper.class, new AllFieldMapper());
this.rootMappers.put(BoostFieldMapper.class, new
BoostFieldMapper());
this.rootMappers.put(RoutingFieldMapper.class, new
RoutingFieldMapper());
this.rootMappers.put(TimestampFieldMapper.class, new
TimestampFieldMapper());
this.rootMappers.put(TTLFieldMapper.class, new TTLFieldMapper());
this.rootMappers.put(UidFieldMapper.class, new UidFieldMapper());
I will put this bug in github.
2011/11/23 Gustavo Maia gustavobbmaia@gmail.com:
Sorry, I has write in portuguese.
There's something very strange. The problem is not with the filter
plugin. Looking at the code and sometimes not apply all filter in field all.
As I said before just restarting the ES sometimes perceive this error.
The filters are not to be applied in all field.
2011/11/23 Gustavo Maia gustavobbmaia@gmail.com:
There's something very strange. The problem is not with the filter
plugin I made. Looking at the code has to realize that all the field
is not being applied all filters.
Como falei antes apenas reiniciando o ES algumas vezes percebemos esse
error. Os filtros passam a nao serem aplicados no campo all.
2011/11/23 Shay Banon kimchy@gmail.com:
Nothing changed in 0.18.4 for this, is your plugin loaded properly?
On Tue, Nov 22, 2011 at 11:36 PM, Gustavo Maia gustavobbmaia@gmail.com
wrote:
For more info:
{
"jurisindexname" : {
"settings" : {
"index.analysis.analyzer.documentofacetanalyzer.tokenizer" :
"whitespace",
"index.analysis.analyzer.notstemmeranalyzer.filter.0" :
"accentFilter",
"index.analysis.analyzer.notstemmeranalyzer.filter.1" : "standard",
"index.analysis.filter.jus_stop.type" : "stop",
"index.analysis.filter.jus_word_delimiter.type_table_path" :
"/opt/elasticsearch/config/delimiter.txt",
"index.analysis.analyzer.notstemmeranalyzer.filter.4" : "jus_stop",
"index.analysis.filter.jus_stop.enable_position_increments" :
"false",
"index.analysis.analyzer.notstemmeranalyzer.filter.3" : "lowercase",
"index.analysis.analyzer.notstemmeranalyzer.filter.2" :
"jus_word_delimiter",
"index.number_of_replicas" : "1",
"index.analysis.filter.jus_word_delimiter.catenate_numbers" : "true",
"index.analysis.analyzer.notstemmeranalyzer.tokenizer" :
"whitespace",
"index.analysis.filter.jus_word_delimiter.preserve_original" :
"true",
"index.analysis.analyzer.patternanalyzer.pattern" : "##",
"index.analysis.filter.jus_word_delimiter.catenate_words" : "true",
"index.analysis.filter.jus_word_delimiter.catenate_all" : "true",
"index.analysis.filter.jus_word_delimiter.split_on_numerics" :
"true",
"index.analysis.filter.jus_stop.ignore_case" : "true",
"index.analysis.filter.jus_stemmer.name" : "portuguese",
"index.number_of_shards" : "2",
"index.analysis.analyzer.documentochildanalyzer.tokenizer" :
"whitespace",
"index.analysis.filter.jus_stop.lang" : "brazilian",
"index.analysis.analyzer.default.filter.5" : "jus_stemmer",
"index.analysis.analyzer.default.filter.3" : "lowercase",
"index.analysis.analyzer.default.filter.4" : "jus_stop",
"index.analysis.analyzer.default.tokenizer" : "whitespace",
"index.analysis.filter.jus_word_delimiter.type" : "word_delimiter",
"index.analysis.analyzer.default.filter.1" : "standard",
"index.analysis.analyzer.default.filter.2" : "jus_word_delimiter",
"index.analysis.analyzer.default.filter.0" : "accentFilter",
"index.analysis.analyzer.patternanalyzer.type" : "pattern",
"index.analysis.filter.jus_stemmer.type" : "stemmer",
"index.analysis.filter.jus_stop.stopwords_path" :
"/opt/elasticsearch/config/stopwords.txt"
}
}
}
2011/11/22 Gustavo Maia gustavobbmaia@gmail.com:
It was also detected that the configuration was not loaded delimiter.txt
too.
With the same problem, when restarting the ES sometimes stop working.
2011/11/22 Gustavo Maia gustavobbmaia@gmail.com:
Hello,
I'm having problems with my plugin to remove accent in the ES version
0.18.4.
Sometimes I just restart the ES bin/elasticsearch -f and plugin stops
working.
Reinforcing I just stop and start the process of ES and the plugin
stops working.
Can anyone help me?
--
Gustavo Maia
--
Gustavo Maia
--
Gustavo Maia
--
Gustavo Maia
--
Gustavo Maia
--
Gustavo Maia