📜  在弹性搜索中禁用源 (1)

📅  最后修改于: 2023-12-03 15:23:32.798000             🧑  作者: Mango

在弹性搜索中禁用源

在Elasticsearch中,源(source)是由文档的字段组成的JSON对象,它包含了完整的文档内容。在默认情况下,Elasticsearch会将源返回给客户端。但是在某些情况下,可能需要禁用源,只返回文档的元数据信息,例如文档ID和分数等。

禁用源的方法

禁用源可以通过在搜索请求中指定“_source”字段来实现。以下是一个简单的搜索请求示例,它只返回文档的ID和分数信息:

{
  "query": {
    "term": {
      "title": "elasticsearch"
    }
  },
  "_source": ["_id", "_score"]
}

在这个请求中,“_source”字段指定了要返回的元数据信息,它是一个包含了“_id”和“_score”字段的数组。

同时,也可以通过在索引映射中明确禁用源来实现。以下是一个示例映射,它禁用了所有文档的源:

{
  "mappings": {
    "_source": {
      "enabled": false
    }
  }
}

在这个映射中,“_source.enabled”字段被设置为false,表示禁用所有文档的源。

禁用源的好处

禁用源可以在以下一些情况下提高搜索性能和降低网络带宽消耗:

  1. 文档很大,不需要返回所有字段的值。
  2. 搜索请求频繁,需要尽可能地减少返回的数据量。
  3. 文档中包含敏感信息,需要保护用户的隐私。