elasticsearch - 我如何防止Elasticsearch _analyze解释yml

标签 elasticsearch yaml elasticsearch-5

我正在尝试将_analyze api与看起来像这样的文本一起使用:

--- some -- text ---

该请求按预期工作:
curl localhost:9200/my_index/_analyze -d '--'
{"tokens":[]}

但是,此操作失败:
curl localhost:9200/medical_documents/_analyze -d '---'
---
error:
  root_cause:
  - type: "illegal_argument_exception"
    reason: "Malforrmed content, must start with an object"
  type: "illegal_argument_exception"
   reason: "Malforrmed content, must start with an object"
status: 400

考虑到响应的格式,我假设elasticsearch尝试将请求解析为yaml并失败。

如果是这样,我如何禁用yml解析或_analyze---开头的文本?

最佳答案

问题不是yaml解析器。问题是您正在尝试创建类型。
以下是不正确的(将为您提供Malforrmed content, must start with an object error)curl localhost:9200/my_index/medical_documents/_analyze -d '---'这将使您没有错误,但是不正确。因为它将告诉 flex 创建一个新类型。curl localhost:9200/my_index/medical_documents/_analyze -d '{"analyzer" : "standard","text" : "this is a test"}'
创建分析器索引级别。验证:curl -XGET 'localhost:9200/my_index/_settings'<br/>
因此正确的方法是:curl -XGET 'localhost:9200/my_index/_analyze' -d '{"analyzer" : "your_analyzer_name","text" : "----"}'以前需要创建分析器。

关于elasticsearch - 我如何防止Elasticsearch _analyze解释yml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42369054/

相关文章:

python-3.x - 如何在Elasticsearch中计算每个 token 的总数

elasticsearch - ElasticSearch-嵌套在过滤器中的script_score不影响得分-为什么?

elasticsearch - ElasticSearch |如何搜索包含空格的字符串列表?

json - 如何在没有数组的情况下拥有多个无限对象 - Open API/Swagger

yaml - 如何合并 GitLab CI 作业上的规则

elasticsearch - elasticsearch 5:排除搜索

elasticsearch - 在哪里设置ElasticSearch请求超时?

elasticsearch - 查询字符串为空时返回所有文档

time - Elasticsearch-在线用户数

java - Spring Boot 无法引用 YAML 文件中的节点。没有该属性