Предел полнотекстового поиска не работает в Go Couchbase - PullRequest
0 голосов
/ 10 октября 2019

Я хотел бы внедрить полнотекстовый поиск на основе лимитов и смещений для моего коуча, но у меня возникла следующая проблема, когда я определяю лимит для 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)..., он ничего не найдет, поскольку он должен иметь следующий формат.

...