我有一个索引,包含大量纸张,同一个字段的值相同.我在这个领域有一个重复数据删除.
聚合器将作为柜台来找我.我想要一份文件清单.
我的索引:
我想要这个结果(域名重复数据删除结果):
我有一个具有此值的文本字段 -
term1-term2-term3-term4-term5-RWHPSA951000155.2013-05-27.log
Run Code Online (Sandbox Code Playgroud)
当我使用analyze API(默认分析器)检查时,我得到了 -
{
"tokens": [
{
"token": "text",
"start_offset": 2,
"end_offset": 6,
"type": "<ALPHANUM>",
"position": 1
},
{
"token": "term1",
"start_offset": 9,
"end_offset": 14,
"type": "<ALPHANUM>",
"position": 2
},
{
"token": "term2",
"start_offset": 15,
"end_offset": 20,
"type": "<ALPHANUM>",
"position": 3
},
{
"token": "term3",
"start_offset": 21,
"end_offset": 26,
"type": "<ALPHANUM>",
"position": 4
},
{
"token": "term4",
"start_offset": 27,
"end_offset": 32,
"type": "<ALPHANUM>",
"position": 5
},
{
"token": "term5",
"start_offset": 33,
"end_offset": 38,
"type": "<ALPHANUM>",
"position": 6 …Run Code Online (Sandbox Code Playgroud) 让我们考虑以下情况 - “文章”文档中有两个字段 - content(string) 和 views(int)。视图字段未编入索引。视图字段包含这篇文章被阅读了多少次的信息。
我们也说过文档是不可变的:它们不能被改变,只能被替换。更新 API 必须遵守相同的规则。从外部看,似乎我们正在对文档进行部分更新。然而,在内部,更新 API 只是管理我们已经描述过的相同的检索-更改-重新索引过程。
但是如果我们对未索引的字段进行部分更新怎么办 - elasticsearch 会重新索引整个文档吗?例如 - 我想在每次有人阅读文章时更新视图。如果整个文档被重新索引,我将无法进行实时更新(因为操作太繁重)。所以我将不得不延迟工作,例如更新访问者每 3-5-10 分钟阅读的所有文章。还是我理解错了?