go - 全文搜索限制在 Go Couchbase 中不起作用
问题描述
我想为我的沙发实现一个基于限制和偏移的全文搜索,但是我有以下问题,我确定了 10 的限制,我得到了 13 个结果而不是(或不同数量的文档键)。
所以我有以下代码:
q := query{
Query: searchString,
From: offset,
Limit: limit,
}
query := gocb.NewSearchQuery(indexName, q).Limit(limit).Skip(offset)
fmt.Printf("%+v\n", query)
result, err := bucket.ExecuteSearchQuery(query)
if err != nil {
return 0, resp, err
}
查询看起来像(因为我打印出来):
&{name:indexName data:{Query:{Query:+owner_id:randomID From:10 Limit:10} Size:10 From:10 Explain:false Highlight:<nil> Fields:[] Sort:[] Facets:map[] Ctl:<nil>}}
这里+owner_id:randomID
是 searchString,我在两个地方都添加了 From 和 Limit。
我的测试失败了,因为:
couchbase_test.go:234: Length should be 10, instead of count: 13
这是 的长度result.Hits()
。
那么我在这里做错了什么?有时它运行正常,但有时它会失败。
更新 1
如果我将 searchString 直接添加到 NewSearchQuery 中,就像gocb.NewSearchQuery(indexName, searchString)...
它不会找到任何东西一样,因为它应该具有以下格式。
解决方案
推荐阅读
- haskell - 从 do 块中的多个字符串返回单个字符串
- gps - requestLocation() 无法提供有关手表硬件的课程,但可以在 Sim 中工作
- java - ArrayList .add 方法在线程中不起作用
- big-o - 破解编码面试的摊销时间
- python - 一些迭代后,从 kickstarter 抓取数据的 Python 代码不起作用
- c++ - 如何使用 SDL2 在 C++ 中将框呈现到屏幕上?
- javascript - 如何收听 Telegram Bot 错误?(谷歌应用脚本 + 网络钩子)
- php - mail() 错误地向 cPanel 默认帐户发送电子邮件
- javascript - 无法在导航栏中水平对齐菜单项
- docker - 在 Ubuntu 虚拟机中访问 Docker 容器端口