在搜索系统中,最常遇到的一个需求就是排序,同时排序也是搜索引擎需要改造最多的地方。
(2)按照指定字段排序
相似度得分排序是系统默认的排序方式,更多时候,我们需要按照指定字段排序。lucene中,基于字段内容的排序是由FieldComparator接口来实现的,在排序中又分为单字段排序和多字段排序。在排序速度方面,数值类型排序速度最快,在lucene中数值类型的排序是由 NumericComparator 的派生类来实现,NumericComparator派生类支持 float、double、int 、long 四钟类型(日期在底层会转化为long型存储)。 }
{
"title.sort": { "order": "desc" },
"_score": { "order": "desc" }}
缺省字段排序:
{
"from": 0,
"size": 10,
"query": {
"query_string": { "query": "title:test", "default_operator": "and" }
},
"sort": [
{
"rpgendatetime": { "order": "desc", "missing": "_last" }
}
]
}
使用脚本排序:
{
"query" : { "query_string": {
"query": "",
"default_operator": "and"
} },
"sort" : {
"_script" : {
"type" : "number",
"script" : {
"inline": "doc['field_name'].value * factor",
"params" : {
"factor" : 1.1
}
},
"order" : "asc"
}
}
}
凌云 2018-02-23
伍仔 2016-07-27
风的方向 2024-02-22
伍仔 2019-08-23
荡神戏魔 2018-04-04
shift2you 2018-04-02
寒江独钓 2017-12-26
沙落雁 2018-05-26
蛛蛛妹 2014-11-19
小海 2019-02-24