Skip to content

Commit 77a3aed

Browse files
committed
* LOAD has NO AS param(https://redis.io/docs/latest/commands/ft.aggregate/) * fix typo: WITHCOUT -> WITHCOUNT
1 parent 91dddc2 commit 77a3aed

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

search_commands.go

+4-14
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,6 @@ type FTAggregateApply struct {
231231

232232
type FTAggregateLoad struct {
233233
Field string
234-
As string
235234
}
236235

237236
type FTAggregateWithCursor struct {
@@ -493,9 +492,6 @@ func FTAggregateQuery(query string, options *FTAggregateOptions) AggregateQuery
493492
queryArgs = append(queryArgs, "LOAD", len(options.Load))
494493
for _, load := range options.Load {
495494
queryArgs = append(queryArgs, load.Field)
496-
if load.As != "" {
497-
queryArgs = append(queryArgs, "AS", load.As)
498-
}
499495
}
500496
}
501497
if options.Timeout > 0 {
@@ -653,8 +649,7 @@ func (cmd *AggregateCmd) String() string {
653649
func (cmd *AggregateCmd) readReply(rd *proto.Reader) (err error) {
654650
data, err := rd.ReadSlice()
655651
if err != nil {
656-
cmd.err = err
657-
return nil
652+
return err
658653
}
659654
cmd.val, err = ProcessAggregateResult(data)
660655
if err != nil {
@@ -684,9 +679,6 @@ func (c cmdable) FTAggregateWithArgs(ctx context.Context, index string, query st
684679
args = append(args, "LOAD", len(options.Load))
685680
for _, load := range options.Load {
686681
args = append(args, load.Field)
687-
if load.As != "" {
688-
args = append(args, "AS", load.As)
689-
}
690682
}
691683
}
692684
if options.Timeout > 0 {
@@ -1473,8 +1465,7 @@ func (cmd *FTSpellCheckCmd) RawResult() (interface{}, error) {
14731465
func (cmd *FTSpellCheckCmd) readReply(rd *proto.Reader) (err error) {
14741466
data, err := rd.ReadSlice()
14751467
if err != nil {
1476-
cmd.err = err
1477-
return nil
1468+
return err
14781469
}
14791470
cmd.val, err = parseFTSpellCheck(data)
14801471
if err != nil {
@@ -1662,8 +1653,7 @@ func (cmd *FTSearchCmd) RawResult() (interface{}, error) {
16621653
func (cmd *FTSearchCmd) readReply(rd *proto.Reader) (err error) {
16631654
data, err := rd.ReadSlice()
16641655
if err != nil {
1665-
cmd.err = err
1666-
return nil
1656+
return err
16671657
}
16681658
cmd.val, err = parseFTSearch(data, cmd.options.NoContent, cmd.options.WithScores, cmd.options.WithPayloads, cmd.options.WithSortKeys)
16691659
if err != nil {
@@ -1889,7 +1879,7 @@ func (c cmdable) FTSearchWithArgs(ctx context.Context, index string, query strin
18891879
}
18901880
}
18911881
if options.SortByWithCount {
1892-
args = append(args, "WITHCOUT")
1882+
args = append(args, "WITHCOUNT")
18931883
}
18941884
}
18951885
if options.LimitOffset >= 0 && options.Limit > 0 {

search_test.go

+10-2
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,10 @@ var _ = Describe("RediSearch commands Resp 2", Label("search"), func() {
127127

128128
res3, err := client.FTSearchWithArgs(ctx, "num", "foo", &redis.FTSearchOptions{NoContent: true, SortBy: []redis.FTSearchSortBy{sortBy2}, SortByWithCount: true}).Result()
129129
Expect(err).NotTo(HaveOccurred())
130-
Expect(res3.Total).To(BeEquivalentTo(int64(0)))
131-
130+
Expect(res3.Total).To(BeEquivalentTo(int64(3)))
131+
Expect(res2.Docs[2].ID).To(BeEquivalentTo("doc1"))
132+
Expect(res2.Docs[1].ID).To(BeEquivalentTo("doc2"))
133+
Expect(res2.Docs[0].ID).To(BeEquivalentTo("doc3"))
132134
})
133135

134136
It("should FTCreate and FTSearch example", Label("search", "ftcreate", "ftsearch"), func() {
@@ -264,6 +266,8 @@ var _ = Describe("RediSearch commands Resp 2", Label("search"), func() {
264266
Expect(err).NotTo(HaveOccurred())
265267
Expect(res1.Total).To(BeEquivalentTo(int64(1)))
266268

269+
_, err = client.FTSearch(ctx, "idx_not_exist", "only in the body").Result()
270+
Expect(err).To(HaveOccurred())
267271
})
268272

269273
It("should FTSpellCheck", Label("search", "ftcreate", "ftsearch", "ftspellcheck"), func() {
@@ -592,6 +596,9 @@ var _ = Describe("RediSearch commands Resp 2", Label("search"), func() {
592596
Expect(err).NotTo(HaveOccurred())
593597
Expect(res.Rows[0].Fields["t1"]).To(BeEquivalentTo("hello"))
594598
Expect(res.Rows[0].Fields["t2"]).To(BeEquivalentTo("world"))
599+
600+
_, err = client.FTAggregateWithArgs(ctx, "idx_not_exist", "*", &redis.FTAggregateOptions{}).Result()
601+
Expect(err).To(HaveOccurred())
595602
})
596603

597604
It("should FTAggregate apply", Label("search", "ftaggregate"), func() {
@@ -1101,6 +1108,7 @@ var _ = Describe("RediSearch commands Resp 2", Label("search"), func() {
11011108
val, err = client.FTCreate(ctx, "idx_hash", ftCreateOptions, schema...).Result()
11021109
Expect(err).NotTo(HaveOccurred())
11031110
Expect(val).To(Equal("OK"))
1111+
WaitForIndexing(client, "idx_hash")
11041112

11051113
ftSearchOptions := &redis.FTSearchOptions{
11061114
DialectVersion: 4,

0 commit comments

Comments
 (0)