elasticsearch _all字段到底包含什么?

时间:2018-12-06 09:06:37

标签: elasticsearch

我一直在工作中使用Elasticsearch,但是很长一段时间以来一直被_all领域所迷惑。该文件说

  

_all字段是一个特殊的包罗万象字段,将   将所有其他字段的值合并为一个大字符串,使用空格作为   分隔符,然后对其进行分析和索引,但不存储

但是这些“所有字段”是否包含未分析甚至没有索引的字段?

如果有人知道答案,请提前告诉我。

1 个答案:

答案 0 :(得分:0)

renderToNodeStream( <StaticRouter location={req.url} context={context}> <Provider store={store}> <Routes /> </Provider> </StaticRouter> ).pipe(res) // res -> express.js res object 字段是一个字段,它使用空格作为定界符将所有其他字段的值连接到一个大字符串中,然后对其进行分析和索引,但不进行存储。这意味着它可以被搜索,但不能被检索。

通过_all字段,您可以在文档中搜索值,而无需知道哪个字段包含该值。

示例 假设您已经为文档编制了以下索引

_all

好,然后将生成此文档的所有索引字段,如下所示

{
  "first_name":    "sunder",
  "last_name":     "r",
  "date_of_birth": "1996-03-20"
}

然后对其进行分析并建立索引(_all字段只是一个文本字段,并接受其他字符串字段接受的相同参数,包括分析器,term_vector,index_options和store。) 并且"sunder r 1996 03 20" 字段中没有_all字段,并且默认情况下未存储或启用该字段

注意

  

ES 6.0.0中不推荐使用_source字段。   _all可能不再为在6.0+版本中创建的索引启用,请使用自定义字段和映射copy_to参数