Fielddata access on the_id field is disallowed, you can re-enable it by updating the dynamic cluster setting: indices.id_field_data.enabled
Elasticsearch默认禁用_id字段进行排序,这是因为_id字段通常不需要进行聚合或排序操作,启用字段数据可能会消耗大里内存。默认情况下,Elasticsearch禁用了对文本字段(包括_1d字段)的字段数据访问,以节省内存。
解决方法:
方法1:可以通过更新Elasticsearch的动态集群设置来重新启用对_id 字段的字段数据访问。
方法2:使用sort时指定_doc排序
为什么es命中索引多的评分还没命中索引少的分数高?
在评分系统中,命中索引多的评分可能会比命中索引少的评分高,原因可能有几个:
1. 数据稀疏性:命中索引多的评分可能是基于更多的数据点,这可能使得评分更加可靠和稳定。相比之下,命中索引少的评分可能因为数据量小而受到个别异常值的影响。
2. 信息量:命中索引多的评分可以提供更多的信息,帮助算法更好地理解用户偏好或内容特征,从而得出更高的评分。
3. 算法设计:某些评分算法可能设计为对命中索引多的情况给予更高的权重,以鼓励模型在更广泛的数据上进行学习和优化。
4. 正则化:在某些情况下,算法可能会对命中索引少的评分施加惩罚,以防止过拟合,导致这些评分的值被压低。 具体原因可能取决于所使用的评分算法和数据集的特性。