我正在尝试使用ElasticSearch进行分析 - 专门用于跟踪手动滚动的Rails CMS的"顶级内容".这个要求比为每个内容保留一个计数器要复杂得多.我现在不会深入研究问题的深度,因为我似乎无法完成基本工作.
我的问题是这样的:我正在使用方面而且计数并不是我所期望的.例如:
查询:
{"facets":{"el_ids":{"terms":{"field":"el_id","size":1,"all_terms":false,"order":"count"}}}}
Run Code Online (Sandbox Code Playgroud)
结果:
{"el_ids":{"_type":"terms","missing":0,"total":16672,"other":16657,"terms":[{"term":"quis","count":15}]}}
Run Code Online (Sandbox Code Playgroud)
好吧,伟大的,这块的ID为内容的"QUIS"有15支安打,自orderIS count,它应该是我的前一段内容.现在让我们获取前5个内容.
查询:
{"facets":{"el_ids":{"terms":{"field":"el_id","size":5,"all_terms":false,"order":"count"}}}}
Run Code Online (Sandbox Code Playgroud)
结果(只是方面):
[
{"term":"qgz9","count":26},
{"term":"quis","count":15},
{"term":"hnqn","count":15},
{"term":"higp","count":15},
{"term":"csns","count":15}
]
Run Code Online (Sandbox Code Playgroud)
咦?所以内容w/id"qgz9"的内容有26个更多?为什么它不是第一个查询的最高结果?
好吧,让我们现在获得前100名.
查询:
{"facets":{"el_ids":{"terms":{"field":"el_id","size":100,"all_terms":false,"order":"count"}}}}
Run Code Online (Sandbox Code Playgroud)
结果(只是方面):
[
{"term":"qgz9","count":43},
{"term":"difc","count":37},
{"term":"zryp","count":31},
{"term":"u65r","count":31},
{"term":"sxsi","count":31},
...
]
Run Code Online (Sandbox Code Playgroud)
所以现在"qgz9"有43次点击而不是26次?怎么可能?我可以向你保证,在后台修改索引时没有任何事情发生.如果我重复这些查询,我会得到相同的结果.
当我重复这个增加结果大小的过程时,计数会继续变化,并且新的内容ID会出现在顶部.有人可以向我解释我做错了什么,或者我对其工作原理的理解有缺陷吗?
| 归档时间: |
|
| 查看次数: |
1274 次 |
| 最近记录: |