我一直在工作中使用Elasticsearch,但是很长一段时间以来一直被_all
领域所迷惑。该文件说
_all
字段是一个特殊的包罗万象字段,将 将所有其他字段的值合并为一个大字符串,使用空格作为 分隔符,然后对其进行分析和索引,但不存储
但是这些“所有字段”是否包含未分析甚至没有索引的字段?
如果有人知道答案,请提前告诉我。
答案 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参数