Pipeline does not work

(from github.com/GenxuanHu)
In my fess, I set the following pipeline in ES.
PUT _ingest/pipeline/split
{
“description”: “Tag processor”,
“processors”: [
{
“split”: {
“field”: “tags”,
“separator”: “\|\|”
}
}
]
}

Then put the tags in HTML

Also set the tags mapping in the doc.json and fess_config.properties

“tags”: {
“type”: “keyword”
},

query.additional.response.fields=content_type,tags
query.additional.api.response.fields=content_type,tags

In the Web Config, set the the following in the config parameter.

config.pipeline=split

But the pipeline is not triggered at all. I also get the result like
result": [
{
“filetype”: “html”,
“tags”: “Healthcare||IP”,
}
The expecting result should be
result": [
{
“filetype”: “html”,
“tags”: [“Healthcare”,“IP”],
}]

Also tested the pipeline in ES by [simulate API] (https://www.elastic.co/guide/en/elasticsearch/reference/current/simulate-pipeline-api.html) which is success
Is there anything I missed ?

(from github.com/marevol)
It will be fixed in a next release.

(from github.com/GenxuanHu)
Hi @marevol

Thanks for your updates, If this feature could only be available in future, Can I ask another question here about index & search response.
Let’s say my page should contains metadata like
Page1:
<meta name="keyword" content="tag1,tag2,tag3"/>

Page2:
<meta name="keyword" content="tag2,tag3,tag4"/>

How can I get the keyword works as the facet so that I could get the result like

"facet_field": [
{
"name": "keyword",
"result": [
{
"value": "tag1",
"count": 1
},
{
"value": "tag2",
"count": 2
},
{
"value": "tag3",
"count": 2
},
{
"value": "tag4",
"count": 1
}
]
}
]

I managed to set the facet field if source page just provides one result like
Page1
<meta name="keyword" content="tag1"/>

Page2
<meta name="keyword" content="tag2"/>

by setting the fess_config.properties, docs.json and the config parameters.

But I am struggling to split the String to String arrays or any other alternatives so that each source page could provide more than 1 keyword.

Any suggestions or ideas would be appreciated.

Thanks
Genxuan

(from github.com/marevol)
It might be the following settings in the config parameter.

field.xpath.tags=//META[@name='keyword']/@content
field.script.tags=value.split(",")

A language you can use in field.script.* is Groovy.

(from github.com/GenxuanHu)
Thanks for the quick response, tried it, but what I got was the String[].toString() instead of the items in String[] in the API response.
{
“tags”: “[Ljava.lang.String;@28bf019d”,
“doc_id”: “1207383a849c47e3bd36ac81dff4b28c”,
“created”: “2019-07-21T14:44:53.904Z”,

}

(from github.com/marevol)
Fixed in #2186.