8

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

enter image description here

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:

enter image description here

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

Martin Loetzsch
  • 587
  • 5
  • 12

4 Answers4

2

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}  
Val
  • 207,596
  • 13
  • 358
  • 360
1

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).

Peter Dixon-Moses
  • 3,169
  • 14
  • 18
0

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>"
}
Hkntn
  • 356
  • 1
  • 6
-1

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?

BasK
  • 284
  • 8
  • 24
  • Maybe my question was formulated not clear enough, but this is definitely not an answer to my question. I know the kopf plugin, and it only shows me the output of a complete analyzer (see my edit above). – Martin Loetzsch Dec 03 '14 at 12:30
  • 1
    wait i will check and Tell u @Martin – BasK Dec 03 '14 at 12:46