No processor type exists with name [opennlp]
See original GitHub issueHi Spinscale,
sorry to bother you again, but I really don’t get how to install your this repo. I am in the situation where I installed ElastcSearch and Kibana (I know they are now required, but I need them) and I want to give the following command:
curl -X PUT "localhost:9200/_ingest/pipeline/opennlp-pipeline" -H 'Content-Type: application/json' -d'
{
"description" : "A pipeline to do named entity extraction",
"processors" : [
{
"opennlp" : {
"field": "my_field",
"ignore_missing": true
}
}
]
}'
this way I should add data to your plugin. Sadly when I give that command I receive the following error:
{"error":
{"root_cause":
[{ "type":"parse_exception",
"reason":"No processor type exists with name [opennlp]",
"header":{"processor_type":"opennlp"}
}],
"status":400}
So if no processor exists with that name I thought maybe the installation hasn’t finish correctly. To install it I followed the following steps:
-
Download it and from within the downloaded folder I ran:
./gradlew clean check
-
Then I tried to give:
bin/elasticsearch-plugin install file://./Downloads/elasticsearch-ingest-opennlp-master/build/distributions/ingest-opennlp-6.5.0.1-SNAPSHOT.zip
but I receive an error:
ERROR: plugin directory [./Downloads/elasticsearch-ingest-opennlp-master/build/cluster/integTestCluster node0/elasticsearch-6.5.0/plugins/ingest-opennlp] already exists; if you need to update the plugin, uninstall it first using command ‘remove ingest-opennlp’
so I really don’t know what to do. Do you have some clue of where the problem is?
Note: Just to be sure, the bin/elasticsearch-plugin folder from where I ran the command was in
elasticsearch-ingest-opennlp-master/build/cluster/integTestCluster node0/elasticsearch-6.5.0
Issue Analytics
- State:
- Created 5 years ago
- Comments:12 (3 by maintainers)
Top GitHub Comments
On centos, for me it worked by dropping them into:
/etc/elasticsearch/ingest-opennlp
e.g.
[root@sensor-01 ingest-opennlp]# pwd
/etc/elasticsearch/ingest-opennlp
[root@sensor-01 ingest-opennlp]# tree
├── en-ner-dates.bin
├── en-ner-locations.bin
└── en-ner-persons.bin
@Meru3m If possible, I suggest reinstalling with the bundle (.zip file) plugin instead of building it locally.
To do that for elasticseasrch 6.5.3:
(adjust the path as needed, these are specific to CentOS 7)
export ES_PATH_CONF=/etc/elasticsearch;/usr/share/elasticsearch/bin/elasticsearch-plugin remove ingest-opennlp
export ES_PATH_CONF=/etc/elasticsearch;/usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/spinscale/elasticsearch-ingest-opennlp/releases/download/6.5.3.1/ingest-opennlp-6.5.3.1.zip
Make sure you have downloaded (in the right directory) and have appended the model file config to the elasticsearch.yml file.
# OpenNLP
ingest.opennlp.model.file.persons: en-ner-persons.bin
ingest.opennlp.model.file.dates: en-ner-dates.bin
ingest.opennlp.model.file.locations: en-ner-locations.bin
Restart elasticsearch while tailing the logfile to insure the plugin was loaded, it should look like this:
[2018-12-12T10:18:38,694][INFO ][o.e.p.PluginsService ] [master-2] loaded plugin [ingest-opennlp]
Or by the API
curl -XGET "https://localhost:9200/_nodes/ingest"
Hopefully then opennlp processor will then be accessible to your ingest pipeline.
Here’s screenshot of using opennlp on a twitter feed displayed through Kibana’s graph app.