自定义排序
怎样在查询中使用payload?
Elasticsearch • lbeny 回复了问题 • 4 人关注 • 3 个回复 • 7542 次浏览 • 2017-02-06 19:58
查询中怎样使用自定义的评分公式?
Elasticsearch • helloes 回复了问题 • 5 人关注 • 2 个回复 • 8000 次浏览 • 2016-03-10 19:36
es 的加权排序问题
Elasticsearch • stab 回复了问题 • 3 人关注 • 1 个回复 • 9281 次浏览 • 2015-10-28 09:32
elasticsearch 关于排序部分有没有中文文档或者博客,能否推荐点资料给个我
默认分类 • stab 回复了问题 • 3 人关注 • 3 个回复 • 12317 次浏览 • 2015-03-07 21:25
如何实现按字段和权重的自定义排序?
Elasticsearch • Rubricate 回复了问题 • 9 人关注 • 3 个回复 • 36693 次浏览 • 2014-11-19 22:54
{
"query": {
"function_score": {
"functions": [
{
"script_score": {
"params": {
"param1": 0.3,
"param2": 0.5,
"param3": 0.2
},
"script": "_score *param1+ doc['d1'].value * param2 + doc['b1'].value * param23"
}
}
],
"query": {
"match": {
"brief": "智能"
}
},
"score_mode": "first"
}
}
}
解释:
_score 就是es对doc的打分,d1和bi需要是数值类型。param1,2,3可以不用赋值的形式,直接写在script里面也可以。
官方文档在这里:
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html
"query": {
"function_score": {
"functions": [
{
"script_score": {
"params": {
"param1": 0.3,
"param2": 0.5,
"param3": 0.2
},
"script": "_score *param1+ doc['d1'].value * param2 + doc['b1'].value * param23"
}
}
],
"query": {
"match": {
"brief": "智能"
}
},
"score_mode": "first"
}
}
}
解释:
_score 就是es对doc的打分,d1和bi需要是数值类型。param1,2,3可以不用赋值的形式,直接写在script里面也可以。
官方文档在这里:
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html
elasticsearch的排序可以分为两种
一种是文本相似度排序,基于TF-IDF 和SVM,就是词频权重和空间向量模型。分词之后,就按照分词的打分的结果来排序,当然就不是简单的abcd了,而且空间向量的关系来打分了。
可以看看lucene的打分公式。关... 显示全部 »
一种是文本相似度排序,基于TF-IDF 和SVM,就是词频权重和空间向量模型。分词之后,就按照分词的打分的结果来排序,当然就不是简单的abcd了,而且空间向量的关系来打分了。
可以看看lucene的打分公式。关... 显示全部 »
elasticsearch的排序可以分为两种
一种是文本相似度排序,基于TF-IDF 和SVM,就是词频权重和空间向量模型。分词之后,就按照分词的打分的结果来排序,当然就不是简单的abcd了,而且空间向量的关系来打分了。
可以看看lucene的打分公式。关于lucene,[觉先的源码分析](http://www.cnblogs.com/forfuture1978/archive/2010/06/13/1757479.html)不错,你可以看看
一种是自定义排序,完全按照用户定义的公式来排序,elasticsearch现在提供了script功能,能相当方便的定制想要的打分公式,可以看看下面的链接
[自定义打分公式](http://elasticsearch.cn/?/question/12)
还有纳兰琴的 [es源码分析](http://my.oschina.net/naqin)
一种是文本相似度排序,基于TF-IDF 和SVM,就是词频权重和空间向量模型。分词之后,就按照分词的打分的结果来排序,当然就不是简单的abcd了,而且空间向量的关系来打分了。
可以看看lucene的打分公式。关于lucene,[觉先的源码分析](http://www.cnblogs.com/forfuture1978/archive/2010/06/13/1757479.html)不错,你可以看看
一种是自定义排序,完全按照用户定义的公式来排序,elasticsearch现在提供了script功能,能相当方便的定制想要的打分公式,可以看看下面的链接
[自定义打分公式](http://elasticsearch.cn/?/question/12)
还有纳兰琴的 [es源码分析](http://my.oschina.net/naqin)
elasticsearch 关于排序部分有没有中文文档或者博客,能否推荐点资料给个我
回复默认分类 • stab 回复了问题 • 3 人关注 • 3 个回复 • 12317 次浏览 • 2015-03-07 21:25