逐步调试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)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
NetBeans中的Java Swing滚动窗格   java如何与具有复合键的表建立关系?   Android中读取文件时java数据丢失   java黄瓜场景。embed在ubuntu机器上不工作?   java从spring mvc控制器操作中,我如何获得请求/响应的访问权限?   java减去两个长值   java选择下一个值firebase 安卓   用于起始和结尾连字符的java正则表达式   Java正则表达式解释   java Lifefay freemarker ADT:方法不可用?   java我怎样才能让我的开关盒作用于JFrame?   java在我的场景中使用连接池的理想方式是什么   java我如何接受jsoup的cookies?   java如何将整数数组更改为字符串数组?   java Android操作\u指针\u向上直到剩余触摸移动时才调用   java为什么gradle会出错?   io如何在java中复制/拆分输入流?   java使JButton不可见,但尊重其原始空间   java Spring提交表单获取复选框值不起作用