当前位置: 首页 > 面试题库 >

全局定义分析器(ES)

穆华彩
2023-03-14
问题内容

我需要/想要在全局定义我的自定义分析器。因此,我根据以下答案编辑了ES的配置文件(elasticsearch.yml):是否可以自定义ElasticSearch以使用自己的停用词列表?相关条目是

index.analysis.analyzer.angram:
  type: custom
  tokenizer: standard
  filter: standard, lowercase, fngram
index.analysis.filter.fngram:
  type: nGram
  min_gram: 2
  max_gram: 10

但是当我尝试调用时,curl -XGET 'localhost:9200/_analyze?analyzer=angram' -d 'this is a test'我得到了一个ElasticSearchIllegalARgumentException[failed to find analyzer [angram]]

配置错误吗?(尽管我希望在启动过程中读取配置时遇到错误时,ES无法启动)

如何正确定义全局分析器?

编辑: 我正在使用版本0.90.0


问题答案:

问题出在curl语句中的URL
。归功于Ivan(https://groups.google.com/forum/#!topic/elasticsearch/5XlUoghKURg)

我引用了他在小组中的回答:

您不能使用自定义分析器,直到索引对其进行了引用。您将需要创建一个使用分析器的映射,然后在分析器调用中使用该索引。无需将任何文档索引到该索引。

curl -XGET 'localhost:9200/SOMEINDEX/_analyze?analyzer=angram'



 类似资料:
  • A-Frame通过window.AFRAME浏览器全局变量来暴露其公共接口。 (require('aframe')). AFRAME属性 属性(Property) 描述 AComponent 组件(Component)原型。 AEntity 实体(Entity)原型。 ANode A-Frame元素继承的基础节点原型。 AScene 场景(Scene)原型。 components 已注册的组件对象

  • 在Angular 1. x中,您可以这样定义常量: Angular(使用TypeScript)中的等价物是什么? 我只是不想在我的所有服务中一遍又一遍地重复API基url。

  • 我正在制作一个Preact SSR应用程序,使用rollup进行捆绑,并使用buble进行ES2015转换。 将当前的客户端代码绑定到其中一个WebSockets中。目前,由于绑定使用的是节点,因此未定义该节点,导致生成错误: 请记住,我来自Webpack和babel环境。使用这些工具时,我会有一个插件来定义将出现在输出中但不在Node中的内容。如何使用rollup/buble做到这一点? 我当前

  • 问题内容: 根据AngularJS的教程,控制器功能只是位于全局范围内。 http://docs.angularjs.org/tutorial/step_04 控制器功能本身是自动解析为封装范围还是驻留在全局范围内?我知道他们已经传递了对自己的$ scope的引用,但是看来函数本身只是位于全局范围内。显然,这可能会带来很多问题,而且我已经通过经验和教育学到了封装的方法。此外,如果它们确实存在于全球

  • 问题内容: 在我的代码中,我有: 然后,编译器将说“ NameError:全局名称a()未定义”。如果我将所有东西都从A类中取出,那没问题,但是如何在A类中定义方法?非常感谢你。 问题答案: 你需要调用调用从。是 不是 一个全球性的功能,它是在类中的方法。 您可能想通读有关类的Python教程,以获得更详细的信息。

  • 问题内容: 我在Mac OS X上使用Python 2.6.1。 我有两个简单的Python文件(如下),但是当我运行时 我在终端上: 我尝试以不同的方式重命名文件和类,这就是为什么两端有x和z的原因。;) 文件sqlitedbx.py 文件update_url.py 问题答案: 您需要做: