逐步调试ElasticSearch分析器
elyzer的Python项目详细描述
#透析器
请参阅ElasticSearch自定义分析器如何将文本分解为标记。
我的治疗师说这是个好主意…
<;pre>; 道格:嗨 伊丽莎:你今天怎么样……你想讨论什么? 道格:好吧,我真的看不出我的弹性搜索分析仪是如何工作的,在里面。 伊莱扎:你怎么知道你真的看不到你的弹性搜索分析器是如何工作的,在内部? 道格:因为我叫分析,它做整个分析,或者只是一个步骤 伊丽莎还有什么其他的原因? 道格:我想没人能做一个好的调试器。 伊莱扎我不确定我是否完全理解你。 道格继续读这个自述文件… 伊丽莎来,来,阐明你的想法。 <;/pre>;
#安装
通过PIP3安装
(ES 2.x和5.x)
pip3 install elyzer
#用法
给elyzer一些文本并对其进行分析。请参见命令行中逐步分解的过程。
假设我为索引tmdb创建了一个自定义分析器,我会像这样运行这个分析器
` $ elyzer --es"http://localhost:9200"--index tmdb --analyzer english_bigrams "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} `
输出是每个标记,在每个步骤的标记流中以数字位置属性作为前缀。
##参数
有四个必需的命令行参数:
- es:elasticsearch主机(即http://localhost:9200)
- index:可在其中找到自定义分析器的索引的名称
- analyzer:自定义分析器的名称
- 文本:要分析的文本
#缺点
又名“改进领域” -现在只适用于自定义分析器(因为它访问索引的设置) -除了标记文本和位置之外的属性将非常方便
##谁?
由[opensource connections]创建(http://opensourceconnections.com)
##许可证
在[apache 2]下发布(license.txt)