我可以自定义 Elastic Search 以使用我自己的停用词列表吗?
具体来说,我想在没有停用词列表的情况下对所有内容(例如谁)进行索引。 Elastic Search 是否足够灵活且易于更改?
specifically, I want to index everything (e.g. the who) with no stop word list. Is elastic search flexible enough and easy enough to change?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
默认情况下,elasticsearch 使用的分析器是 标准分析器 使用默认的 Lucene 英语停用词。我通过将以下内容添加到elasticsearch.yml 文件中,将elasticsearch 配置为使用相同的分析器,但没有停用词。
By default, the analyzer elasticsearch uses is a standard analyzer with the default Lucene English stopwords. I have configured elasticsearch to use the same analyzer but without stopwords by adding the following to the elasticsearch.yml file.
是的,您可以使用 ElasticSearch 的内部配置 YAML 文件来执行此操作。
有关如何更改分析器设置的信息,请参阅配置文档。
Yes, you can do this using ElasticSearch's internal config YAML file.
See the config docs for how to change the analyzer settings.
您可以通过将这些行添加到您的elasticsearch.yml来全局覆盖默认分析器并关闭停用词过滤器:
这将创建一个带有标准分词器和两个过滤器的自定义分析器:标准和小写。这样,您的自定义分析器将与标准分析器相同,但不会使用停用词过滤器。因为它被命名为“默认”,elasticsearch 将在未显式设置分析器的任何地方使用它。
You can override default analyzer globally and turn off the stopword filter by adding these lines to your elasticsearch.yml:
This will create a custom analyzer with the standard tokenizer and two filters: standard and lowercase. This way your custom analyzer will be identical to the standard analyzer but it will not use the stopword filter. Because it's named "default", elasticsearch will use it everywhere where analyzer is not explicitly set.
当然可以。使用 stopwords_path 代替停用词。有关详细信息,请访问 http://www.elasticsearch。 org/guide/en/elasticsearch/reference/current/analysis-stop-analyzer.html
Certainly you can. Use stopwords_path insead of stopwords. for more information http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/analysis-stop-analyzer.html