首页 > 解决方案 > 全文搜索限制在 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)...它不会找到任何东西一样,因为它应该具有以下格式。

标签: gofull-text-searchcouchbase

解决方案


推荐阅读