使用 PHP API 将 Elasticsearch 的字段设置为 not_analyzed

Setting fields to not_analyzed for Elasticsearch using PHP API

所以我从 SQL 获取数据并使用 PHP API 将批量数据发送到 elastic 但 elastic 正在拆解我在字符串值字段中的所有术语。我试图在进行初始发送时将索引设置为 not_analyzed,但它似乎不起作用。

如果可以请帮忙,谢谢。

默认情况下,ES中的字符串是被解析的,所以你需要映射索引,说具体哪些字段不被解析。完整文档 here.

例如

{
  "tag": {
    "type":     "string",
    "index":    "not_analyzed"
  }
}

因此,当您将数据上传到该索引时,将不会分析字段标记。检查索引中设置为 not_analyzed 的字段是否与您正在上传数据的字段匹配,可能是它们不相同以及分析它们的原因。

如果你想设置默认不分析字符串,勾选Disabling field analyzing by default in elastic search