Mapping exception when using Custom analyzer and tokenizer with doc.json and fess.json

(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

(from github.com/marevol)
Does fess.20180521 index contain pipe_splitter analyzer?
It may be better to recreate fess index.

(from github.com/ramaghattu)
Thanks for the Quick response @marevol . Yes, I checked and the index has pipe_splitter analyzer as below. Also I recreated the fess index again but see the same exception above in fess logs. Any help is much appreciated.

Thanks
Rama

In fess.20180521:

              "pipe_splitter": {
                        "type": "custom",
                        "tokenizer": "split_on_pipe"
                    }
                },
                "tokenizer": {
                    "split_on_pipe": {
                        "pattern": "\\|",
                        "type": "pattern"
                    },

(from github.com/marevol)
Try text, not keyword.

  "hudx_dsp": {
	"type": "text",
	"analyzer": "pipe_splitter"
  },

(from github.com/ramaghattu)
Perfect. Worked great. Thank you so much for the help.

-Rama