(from github.com/ramaghattu)
Hi,
I am trying to use custom analyzer and tokenizer as below and getting a mapping exception.
Any help is much appreciated.
Thanks in advance.
Rama
In fess.json
Tokenizer:
"tokenizer": {
"split_on_pipe": {
"type": "pattern",
"pattern": "\\|"
}
},
Analyzer:
"analyzer": {
"analyzer_case_insensitive": {
"tokenizer": "keyword",
"filter": "lowercase"
},
"pipe_splitter": {
"type": "custom",
"tokenizer": "split_on_pipe"
},
In doc.json i am using the above pipe_splitter analyzer on hudx_dsp field :
"hudx_cs": {
"type": "keyword"
},
"hudx_ct": {
"type": "keyword"
},
"hudx_dsp": {
"type": "keyword",
"analyzer": "pipe_splitter"
},
"hudx_keywords": {
"type": "keyword"
}
In Transformer.xml i have HUDX_dsp field rule defined as below:
<postConstruct name="addFieldRule">
<arg>"hudx_dsp"</arg>
<arg>"//META[@name='HUDX_dsp']/@content"</arg>
</postConstruct>
Exception:
2018-05-21 20:13:30,254 [localhost-startStop-1] WARN Failed to create fess.20180521/doc mapping.
org.elasticsearch.index.mapper.MapperParsingException: Mapping definition for [hudx_dsp] has unsupported parameters: [analyzer : pipe_splitter]
at org.elasticsearch.index.mapper.DocumentMapperParser.checkNoRemainingFields(DocumentMapperParser.java:151) ~[elasticsearch-5.6.5.jar:5.6.5]
at org.elasticsearch.index.mapper.DocumentMapperParser.checkNoRemainingFields(DocumentMapperParser.java:145) ~[elasticsearch-5.6.5.jar:5.6.5]
at org.elasticsearch.index.mapper.ObjectMapper$TypeParser.parseProperties(ObjectMapper.java:285) ~[elasticsearch-5.6.5.jar:5.6.5]
at org.elasticsearch.index.mapper.ObjectMapper$TypeParser.parseObjectOrDocumentTypeProperties(ObjectMapper.java:199) ~[elasticsearch-5.6.5.jar:5.6.5]
at org.elasticsearch.index.mapper.RootObjectMapper$TypeParser.parse(RootObjectMapper