Is there a Elasticsearch plugin similar to the Sol

2020-06-16 04:00发布

问题:

Solr has the built-in "Analysis Screen", which helps to debug the interplay between tokenizers and filters for specific field types:

Is there a plugin for ElasticSearch that does something similar? Specifically, I want to see the input/ output of each filter, not only the end result of the analysis chain. I used Google quite intensively on this, but didn't find anything.

https://www.found.no/play/#analysis contains exactly the feature I want (scroll down to "myAnalyzer"), but unfortunately it's not something I can run on my index. But it shows that such a feature is possible.

Edit: I know there are many plugins that show me the output for a complete chain of filters, for example kopf as suggested by user @Bass:

This is not what I want! I want to see the output of each filter, not only the end result.

回答1:

There is one standalone tool called elyzer made by the nice folks at OpenSource Connections. That tool will show you the state of your tokens at any step (char filter, tokenizer, token filter) of the analysis process and it is very simple to use.

Installing it is very simple via pip install elyzer and then you can use it as a command-line tool, e.g.

$ elyzer --es "http://localhost:9200" --index tmdb --analyzer english_bigrams --text "Mary had a little lamb"
TOKENIZER: standard
{1:Mary}    {2:had} {3:a}   {4:little}  {5:lamb}    
TOKEN_FILTER: standard
{1:Mary}    {2:had} {3:a}   {4:little}  {5:lamb}    
TOKEN_FILTER: lowercase
{1:mary}    {2:had} {3:a}   {4:little}  {5:lamb}    
TOKEN_FILTER: porter_stem
{1:mari}    {2:had} {3:a}   {4:littl}   {5:lamb}    
TOKEN_FILTER: bigram_filter
{1:mari had}    {2:had a}   {3:a littl} {4:littl lamb}  


回答2:

I've used Inquisitor in the past to test out tokenizers and filters. It sits on top of the Elasticsearch analyze API and can be used from a web front end.

You should also try another plugin called elasticsearch-extended-analyze which returns the same token-level information as the Solr analysis page (though without the web front end).



回答3:

Yes ,We can do it by Elasticsearch - kopf.Elastic Search-KOPF is administrator Tools. U will type this command in you command prompt

bin/plugin --install lmenezes/elasticsearch-kopf/1.1

please let me know, if you have any doubt?



回答4:

Analyze API can be used to test the analyzers. It is not so pretty but does the job.

Example

GET localhost:9200/_analyze
{
  "tokenizer" : "keyword",
  "token_filters" : ["lowercase"],
  "char_filters" : ["html_strip"],
  "text" : "this is a <b>test</b>"
}