go - Couchbase 排序选项
问题描述
我正在使用带有 Gin 框架的 Go (1.10.3)。我正在连接到 Couchbase 数据库 (5.1.1),但在对数据进行排序时遇到了一些问题。
所以这是我现在正在使用的代码,
//Build Search Sort
func searchSort(c *gin.Context) (cbft.SearchSortField, *cbft.SearchSortScore, string) {
mapData := getQuery(c)
sortData := mapData["sort"]
var sortType string
var sortScore *cbft.SearchSortScore
var sortOps *cbft.SearchSortField
if sortData == "amount:asc" {
fmt.Println( sortData )
sortType = "asc"
sortScore = cbft.NewSearchSortScore().Descending(false)
sortOps = cbft.NewSearchSortField("AmountBase").Descending(false)
}
if sortData == "amount:desc" {
fmt.Println( sortData )
sortType = "desc"
sortScore = cbft.NewSearchSortScore().Descending(true)
sortOps = cbft.NewSearchSortField("AmountBase").Descending(true)
}
return sortOps, sortScore
}
我像这样加载到查询中,
sortOpsOne, sortOpsTwo := searchSort(c)
ftSearch := gocb.NewSearchQuery("Search", searchOps).Sort(sortOpsOne).Sort(sortOpsTwo).Limit(size).Skip(from)
解释一下,上面加载了一个获取字符串请求,例如sort=amount:asc
按我拥有的 AmountBase 字段对 JSON 回复进行排序。
但是,这似乎根本不起作用,我从字段开始,sortOps
但我添加了sortScore
字段,因为排序字段没有做任何事情。
添加descending(false) / descending(true)
到排序字段的末尾似乎也没有做任何事情。
搜索正在基于我已加载到存储桶中的数据在 FTS 索引上运行。
我不确定我做错了什么?
它似乎不适用于降序选项,升序查询似乎正在工作。:)
解决方案
推荐阅读
- python - python中的random.choice,元素的均匀分布
- javascript - 如何使用正则表达式验证 Vue3 中的输入字段?
- installation - In Ocaml Camlp5 is not installing (and it is necessary to use Quotations)
- android - Android Compose - 在 Composable 内返回:异常:开始/结束不平衡
- ruby-on-rails - Rails:将应用程序分离到2个域,通过user_type将用户分离到每个域,不能跨域登录取决于user_type
- angular - Angular Upgrade 8 to 11 version Error : Class extends value undefined is not a constructor or null
- python - 使用单个原子解决 python 中的分子结构
- python - google-cloud-datacatalog 0.8.0 缺少 TagTemplate 选项
- collision-detection - 前 42 亿个 CRC32 中的碰撞概率是多少
- powershell - Powershell 脚本在本地工作,但不能在 solarwinds SAM 组件下工作