diff --git a/docker-compose.yml b/docker-compose.yml index 8b1945c5..ca93886c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -35,6 +35,10 @@ services: image: redis:5-alpine ports: - "6356:6379" + compat-redisearch: + image: redis/redis-stack:7.4.0-v0 + ports: + - "6381:6379" sentinel: image: redis:7.4-alpine entrypoint: diff --git a/hack/cmds/commands_search.json b/hack/cmds/commands_search.json index 8f7a1e27..c4af7497 100644 --- a/hack/cmds/commands_search.json +++ b/hack/cmds/commands_search.json @@ -173,7 +173,8 @@ "TAG", "NUMERIC", "GEO", - "VECTOR" + "VECTOR", + "GEOSHAPE" ] }, { @@ -182,14 +183,6 @@ "optional": true, "multiple": true, "block": [ - { - "name": "withsuffixtrie", - "type": "enum", - "enum": [ - "WITHSUFFIXTRIE" - ], - "optional": true - }, { "name": "sortable", "type": "block", @@ -253,6 +246,30 @@ "enum": [ "CASESENSITIVE" ] + }, + { + "name": "WITHSUFFIXTRIE", + "type": "enum", + "optional": true, + "enum": [ + "WITHSUFFIXTRIE" + ] + }, + { + "name": "INDEXEMPTY", + "type": "enum", + "optional": true, + "enum": [ + "INDEXEMPTY" + ] + }, + { + "name": "INDEXMISSING", + "type": "enum", + "optional": true, + "enum": [ + "INDEXMISSING" + ] } ] } @@ -1092,6 +1109,14 @@ "ASC", "DESC" ] + }, + { + "name": "withcount", + "type": "enum", + "optional": true, + "enum": [ + "WITHCOUNT" + ] } ] }, @@ -1315,6 +1340,14 @@ "type": "integer", "command": "MAX", "optional": true + }, + { + "name": "withcount", + "type": "enum", + "enum": [ + "WITHCOUNT" + ], + "optional": true } ] }, @@ -1422,6 +1455,14 @@ } ] }, + { + "name": "addscores", + "type": "enum", + "enum": [ + "ADDSCORES" + ], + "optional": true + }, { "name": "dialect", "type": "integer", diff --git a/internal/cmds/gen_search.go b/internal/cmds/gen_search.go index 8d4ad248..338bcbab 100644 --- a/internal/cmds/gen_search.go +++ b/internal/cmds/gen_search.go @@ -17,6 +17,18 @@ func (c FtAggregate) Index(index string) FtAggregateIndex { return (FtAggregateIndex)(c) } +type FtAggregateAddscores Incomplete + +func (c FtAggregateAddscores) Dialect(dialect int64) FtAggregateDialect { + c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) + return (FtAggregateDialect)(c) +} + +func (c FtAggregateAddscores) Build() Completed { + c.cs.Build() + return Completed{cs: c.cs, cf: uint16(c.cf), ks: c.ks} +} + type FtAggregateCursorCount Incomplete func (c FtAggregateCursorCount) Maxidle(idleTime int64) FtAggregateCursorMaxidle { @@ -29,6 +41,11 @@ func (c FtAggregateCursorCount) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateCursorCount) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateCursorCount) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -46,6 +63,11 @@ func (c FtAggregateCursorMaxidle) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateCursorMaxidle) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateCursorMaxidle) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -73,6 +95,11 @@ func (c FtAggregateCursorWithcursor) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateCursorWithcursor) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateCursorWithcursor) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -151,6 +178,11 @@ func (c FtAggregateOpApplyAs) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpApplyAs) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpApplyAs) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -208,6 +240,11 @@ func (c FtAggregateOpFilter) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpFilter) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpFilter) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -275,6 +312,11 @@ func (c FtAggregateOpGroupbyGroupby) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpGroupbyGroupby) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpGroupbyGroupby) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -342,6 +384,11 @@ func (c FtAggregateOpGroupbyProperty) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpGroupbyProperty) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpGroupbyProperty) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -429,6 +476,11 @@ func (c FtAggregateOpGroupbyReduceArg) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpGroupbyReduceArg) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpGroupbyReduceArg) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -506,6 +558,11 @@ func (c FtAggregateOpGroupbyReduceAs) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpGroupbyReduceAs) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpGroupbyReduceAs) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -578,6 +635,11 @@ func (c FtAggregateOpGroupbyReduceBy) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpGroupbyReduceBy) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpGroupbyReduceBy) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -665,6 +727,11 @@ func (c FtAggregateOpGroupbyReduceNargs) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpGroupbyReduceNargs) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpGroupbyReduceNargs) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -727,6 +794,11 @@ func (c FtAggregateOpGroupbyReduceOrderAsc) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpGroupbyReduceOrderAsc) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpGroupbyReduceOrderAsc) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -789,6 +861,11 @@ func (c FtAggregateOpGroupbyReduceOrderDesc) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpGroupbyReduceOrderDesc) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpGroupbyReduceOrderDesc) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -860,6 +937,11 @@ func (c FtAggregateOpLimitOffsetNum) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpLimitOffsetNum) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpLimitOffsetNum) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -922,6 +1004,11 @@ func (c FtAggregateOpLoadField) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpLoadField) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpLoadField) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -986,6 +1073,11 @@ func (c FtAggregateOpLoadallLoadAll) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpLoadallLoadAll) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpLoadallLoadAll) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -1008,6 +1100,11 @@ func (c FtAggregateOpSortbyFieldsOrderAsc) Max(num int64) FtAggregateOpSortbyMax return (FtAggregateOpSortbyMax)(c) } +func (c FtAggregateOpSortbyFieldsOrderAsc) Withcount() FtAggregateOpSortbyWithcount { + c.cs.s = append(c.cs.s, "WITHCOUNT") + return (FtAggregateOpSortbyWithcount)(c) +} + func (c FtAggregateOpSortbyFieldsOrderAsc) Apply(expression string) FtAggregateOpApplyApply { c.cs.s = append(c.cs.s, "APPLY", expression) return (FtAggregateOpApplyApply)(c) @@ -1053,6 +1150,11 @@ func (c FtAggregateOpSortbyFieldsOrderAsc) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpSortbyFieldsOrderAsc) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpSortbyFieldsOrderAsc) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -1075,6 +1177,11 @@ func (c FtAggregateOpSortbyFieldsOrderDesc) Max(num int64) FtAggregateOpSortbyMa return (FtAggregateOpSortbyMax)(c) } +func (c FtAggregateOpSortbyFieldsOrderDesc) Withcount() FtAggregateOpSortbyWithcount { + c.cs.s = append(c.cs.s, "WITHCOUNT") + return (FtAggregateOpSortbyWithcount)(c) +} + func (c FtAggregateOpSortbyFieldsOrderDesc) Apply(expression string) FtAggregateOpApplyApply { c.cs.s = append(c.cs.s, "APPLY", expression) return (FtAggregateOpApplyApply)(c) @@ -1120,6 +1227,11 @@ func (c FtAggregateOpSortbyFieldsOrderDesc) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpSortbyFieldsOrderDesc) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpSortbyFieldsOrderDesc) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -1152,6 +1264,11 @@ func (c FtAggregateOpSortbyFieldsProperty) Max(num int64) FtAggregateOpSortbyMax return (FtAggregateOpSortbyMax)(c) } +func (c FtAggregateOpSortbyFieldsProperty) Withcount() FtAggregateOpSortbyWithcount { + c.cs.s = append(c.cs.s, "WITHCOUNT") + return (FtAggregateOpSortbyWithcount)(c) +} + func (c FtAggregateOpSortbyFieldsProperty) Apply(expression string) FtAggregateOpApplyApply { c.cs.s = append(c.cs.s, "APPLY", expression) return (FtAggregateOpApplyApply)(c) @@ -1197,6 +1314,11 @@ func (c FtAggregateOpSortbyFieldsProperty) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpSortbyFieldsProperty) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpSortbyFieldsProperty) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -1209,6 +1331,11 @@ func (c FtAggregateOpSortbyFieldsProperty) Build() Completed { type FtAggregateOpSortbyMax Incomplete +func (c FtAggregateOpSortbyMax) Withcount() FtAggregateOpSortbyWithcount { + c.cs.s = append(c.cs.s, "WITHCOUNT") + return (FtAggregateOpSortbyWithcount)(c) +} + func (c FtAggregateOpSortbyMax) Apply(expression string) FtAggregateOpApplyApply { c.cs.s = append(c.cs.s, "APPLY", expression) return (FtAggregateOpApplyApply)(c) @@ -1254,6 +1381,11 @@ func (c FtAggregateOpSortbyMax) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpSortbyMax) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpSortbyMax) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -1276,6 +1408,11 @@ func (c FtAggregateOpSortbySortby) Max(num int64) FtAggregateOpSortbyMax { return (FtAggregateOpSortbyMax)(c) } +func (c FtAggregateOpSortbySortby) Withcount() FtAggregateOpSortbyWithcount { + c.cs.s = append(c.cs.s, "WITHCOUNT") + return (FtAggregateOpSortbyWithcount)(c) +} + func (c FtAggregateOpSortbySortby) Apply(expression string) FtAggregateOpApplyApply { c.cs.s = append(c.cs.s, "APPLY", expression) return (FtAggregateOpApplyApply)(c) @@ -1321,6 +1458,11 @@ func (c FtAggregateOpSortbySortby) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateOpSortbySortby) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateOpSortbySortby) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -1331,6 +1473,68 @@ func (c FtAggregateOpSortbySortby) Build() Completed { return Completed{cs: c.cs, cf: uint16(c.cf), ks: c.ks} } +type FtAggregateOpSortbyWithcount Incomplete + +func (c FtAggregateOpSortbyWithcount) Apply(expression string) FtAggregateOpApplyApply { + c.cs.s = append(c.cs.s, "APPLY", expression) + return (FtAggregateOpApplyApply)(c) +} + +func (c FtAggregateOpSortbyWithcount) Limit() FtAggregateOpLimitLimit { + c.cs.s = append(c.cs.s, "LIMIT") + return (FtAggregateOpLimitLimit)(c) +} + +func (c FtAggregateOpSortbyWithcount) Filter(filter string) FtAggregateOpFilter { + c.cs.s = append(c.cs.s, "FILTER", filter) + return (FtAggregateOpFilter)(c) +} + +func (c FtAggregateOpSortbyWithcount) LoadAll() FtAggregateOpLoadallLoadAll { + c.cs.s = append(c.cs.s, "LOAD", "*") + return (FtAggregateOpLoadallLoadAll)(c) +} + +func (c FtAggregateOpSortbyWithcount) Load(count int64) FtAggregateOpLoadLoad { + c.cs.s = append(c.cs.s, "LOAD", strconv.FormatInt(count, 10)) + return (FtAggregateOpLoadLoad)(c) +} + +func (c FtAggregateOpSortbyWithcount) Groupby(nargs int64) FtAggregateOpGroupbyGroupby { + c.cs.s = append(c.cs.s, "GROUPBY", strconv.FormatInt(nargs, 10)) + return (FtAggregateOpGroupbyGroupby)(c) +} + +func (c FtAggregateOpSortbyWithcount) Sortby(nargs int64) FtAggregateOpSortbySortby { + c.cs.s = append(c.cs.s, "SORTBY", strconv.FormatInt(nargs, 10)) + return (FtAggregateOpSortbySortby)(c) +} + +func (c FtAggregateOpSortbyWithcount) Withcursor() FtAggregateCursorWithcursor { + c.cs.s = append(c.cs.s, "WITHCURSOR") + return (FtAggregateCursorWithcursor)(c) +} + +func (c FtAggregateOpSortbyWithcount) Params() FtAggregateParamsParams { + c.cs.s = append(c.cs.s, "PARAMS") + return (FtAggregateParamsParams)(c) +} + +func (c FtAggregateOpSortbyWithcount) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + +func (c FtAggregateOpSortbyWithcount) Dialect(dialect int64) FtAggregateDialect { + c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) + return (FtAggregateDialect)(c) +} + +func (c FtAggregateOpSortbyWithcount) Build() Completed { + c.cs.Build() + return Completed{cs: c.cs, cf: uint16(c.cf), ks: c.ks} +} + type FtAggregateParamsNameValue Incomplete func (c FtAggregateParamsNameValue) NameValue(name string, value string) FtAggregateParamsNameValue { @@ -1338,6 +1542,11 @@ func (c FtAggregateParamsNameValue) NameValue(name string, value string) FtAggre return c } +func (c FtAggregateParamsNameValue) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateParamsNameValue) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -1418,6 +1627,11 @@ func (c FtAggregateQuery) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateQuery) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateQuery) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -1475,6 +1689,11 @@ func (c FtAggregateTimeout) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateTimeout) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateTimeout) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -1537,6 +1756,11 @@ func (c FtAggregateVerbatim) Params() FtAggregateParamsParams { return (FtAggregateParamsParams)(c) } +func (c FtAggregateVerbatim) Addscores() FtAggregateAddscores { + c.cs.s = append(c.cs.s, "ADDSCORES") + return (FtAggregateAddscores)(c) +} + func (c FtAggregateVerbatim) Dialect(dialect int64) FtAggregateDialect { c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) return (FtAggregateDialect)(c) @@ -1794,6 +2018,11 @@ func (c FtCreateFieldAs) Vector(algo string, nargs int64, args ...string) FtCrea return (FtCreateFieldFieldTypeVector)(c) } +func (c FtCreateFieldAs) Geoshape() FtCreateFieldFieldTypeGeoshape { + c.cs.s = append(c.cs.s, "GEOSHAPE") + return (FtCreateFieldFieldTypeGeoshape)(c) +} + type FtCreateFieldFieldName Incomplete func (c FtCreateFieldFieldName) As(alias string) FtCreateFieldAs { @@ -1827,13 +2056,13 @@ func (c FtCreateFieldFieldName) Vector(algo string, nargs int64, args ...string) return (FtCreateFieldFieldTypeVector)(c) } -type FtCreateFieldFieldTypeGeo Incomplete - -func (c FtCreateFieldFieldTypeGeo) Withsuffixtrie() FtCreateFieldOptionWithsuffixtrie { - c.cs.s = append(c.cs.s, "WITHSUFFIXTRIE") - return (FtCreateFieldOptionWithsuffixtrie)(c) +func (c FtCreateFieldFieldName) Geoshape() FtCreateFieldFieldTypeGeoshape { + c.cs.s = append(c.cs.s, "GEOSHAPE") + return (FtCreateFieldFieldTypeGeoshape)(c) } +type FtCreateFieldFieldTypeGeo Incomplete + func (c FtCreateFieldFieldTypeGeo) Sortable() FtCreateFieldOptionSortableSortable { c.cs.s = append(c.cs.s, "SORTABLE") return (FtCreateFieldOptionSortableSortable)(c) @@ -1869,6 +2098,21 @@ func (c FtCreateFieldFieldTypeGeo) Casesensitive() FtCreateFieldOptionCasesensit return (FtCreateFieldOptionCasesensitive)(c) } +func (c FtCreateFieldFieldTypeGeo) Withsuffixtrie() FtCreateFieldOptionWithsuffixtrie { + c.cs.s = append(c.cs.s, "WITHSUFFIXTRIE") + return (FtCreateFieldOptionWithsuffixtrie)(c) +} + +func (c FtCreateFieldFieldTypeGeo) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldFieldTypeGeo) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + func (c FtCreateFieldFieldTypeGeo) FieldName(fieldName string) FtCreateFieldFieldName { c.cs.s = append(c.cs.s, fieldName) return (FtCreateFieldFieldName)(c) @@ -1879,13 +2123,70 @@ func (c FtCreateFieldFieldTypeGeo) Build() Completed { return Completed{cs: c.cs, cf: uint16(c.cf), ks: c.ks} } -type FtCreateFieldFieldTypeNumeric Incomplete +type FtCreateFieldFieldTypeGeoshape Incomplete -func (c FtCreateFieldFieldTypeNumeric) Withsuffixtrie() FtCreateFieldOptionWithsuffixtrie { +func (c FtCreateFieldFieldTypeGeoshape) Sortable() FtCreateFieldOptionSortableSortable { + c.cs.s = append(c.cs.s, "SORTABLE") + return (FtCreateFieldOptionSortableSortable)(c) +} + +func (c FtCreateFieldFieldTypeGeoshape) Noindex() FtCreateFieldOptionNoindex { + c.cs.s = append(c.cs.s, "NOINDEX") + return (FtCreateFieldOptionNoindex)(c) +} + +func (c FtCreateFieldFieldTypeGeoshape) Nostem() FtCreateFieldOptionNostem { + c.cs.s = append(c.cs.s, "NOSTEM") + return (FtCreateFieldOptionNostem)(c) +} + +func (c FtCreateFieldFieldTypeGeoshape) Phonetic(phonetic string) FtCreateFieldOptionPhonetic { + c.cs.s = append(c.cs.s, "PHONETIC", phonetic) + return (FtCreateFieldOptionPhonetic)(c) +} + +func (c FtCreateFieldFieldTypeGeoshape) Weight(weight float64) FtCreateFieldOptionWeight { + c.cs.s = append(c.cs.s, "WEIGHT", strconv.FormatFloat(weight, 'f', -1, 64)) + return (FtCreateFieldOptionWeight)(c) +} + +func (c FtCreateFieldFieldTypeGeoshape) Separator(separator string) FtCreateFieldOptionSeparator { + c.cs.s = append(c.cs.s, "SEPARATOR", separator) + return (FtCreateFieldOptionSeparator)(c) +} + +func (c FtCreateFieldFieldTypeGeoshape) Casesensitive() FtCreateFieldOptionCasesensitive { + c.cs.s = append(c.cs.s, "CASESENSITIVE") + return (FtCreateFieldOptionCasesensitive)(c) +} + +func (c FtCreateFieldFieldTypeGeoshape) Withsuffixtrie() FtCreateFieldOptionWithsuffixtrie { c.cs.s = append(c.cs.s, "WITHSUFFIXTRIE") return (FtCreateFieldOptionWithsuffixtrie)(c) } +func (c FtCreateFieldFieldTypeGeoshape) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldFieldTypeGeoshape) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + +func (c FtCreateFieldFieldTypeGeoshape) FieldName(fieldName string) FtCreateFieldFieldName { + c.cs.s = append(c.cs.s, fieldName) + return (FtCreateFieldFieldName)(c) +} + +func (c FtCreateFieldFieldTypeGeoshape) Build() Completed { + c.cs.Build() + return Completed{cs: c.cs, cf: uint16(c.cf), ks: c.ks} +} + +type FtCreateFieldFieldTypeNumeric Incomplete + func (c FtCreateFieldFieldTypeNumeric) Sortable() FtCreateFieldOptionSortableSortable { c.cs.s = append(c.cs.s, "SORTABLE") return (FtCreateFieldOptionSortableSortable)(c) @@ -1921,6 +2222,21 @@ func (c FtCreateFieldFieldTypeNumeric) Casesensitive() FtCreateFieldOptionCasese return (FtCreateFieldOptionCasesensitive)(c) } +func (c FtCreateFieldFieldTypeNumeric) Withsuffixtrie() FtCreateFieldOptionWithsuffixtrie { + c.cs.s = append(c.cs.s, "WITHSUFFIXTRIE") + return (FtCreateFieldOptionWithsuffixtrie)(c) +} + +func (c FtCreateFieldFieldTypeNumeric) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldFieldTypeNumeric) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + func (c FtCreateFieldFieldTypeNumeric) FieldName(fieldName string) FtCreateFieldFieldName { c.cs.s = append(c.cs.s, fieldName) return (FtCreateFieldFieldName)(c) @@ -1933,11 +2249,6 @@ func (c FtCreateFieldFieldTypeNumeric) Build() Completed { type FtCreateFieldFieldTypeTag Incomplete -func (c FtCreateFieldFieldTypeTag) Withsuffixtrie() FtCreateFieldOptionWithsuffixtrie { - c.cs.s = append(c.cs.s, "WITHSUFFIXTRIE") - return (FtCreateFieldOptionWithsuffixtrie)(c) -} - func (c FtCreateFieldFieldTypeTag) Sortable() FtCreateFieldOptionSortableSortable { c.cs.s = append(c.cs.s, "SORTABLE") return (FtCreateFieldOptionSortableSortable)(c) @@ -1973,6 +2284,21 @@ func (c FtCreateFieldFieldTypeTag) Casesensitive() FtCreateFieldOptionCasesensit return (FtCreateFieldOptionCasesensitive)(c) } +func (c FtCreateFieldFieldTypeTag) Withsuffixtrie() FtCreateFieldOptionWithsuffixtrie { + c.cs.s = append(c.cs.s, "WITHSUFFIXTRIE") + return (FtCreateFieldOptionWithsuffixtrie)(c) +} + +func (c FtCreateFieldFieldTypeTag) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldFieldTypeTag) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + func (c FtCreateFieldFieldTypeTag) FieldName(fieldName string) FtCreateFieldFieldName { c.cs.s = append(c.cs.s, fieldName) return (FtCreateFieldFieldName)(c) @@ -1985,11 +2311,6 @@ func (c FtCreateFieldFieldTypeTag) Build() Completed { type FtCreateFieldFieldTypeText Incomplete -func (c FtCreateFieldFieldTypeText) Withsuffixtrie() FtCreateFieldOptionWithsuffixtrie { - c.cs.s = append(c.cs.s, "WITHSUFFIXTRIE") - return (FtCreateFieldOptionWithsuffixtrie)(c) -} - func (c FtCreateFieldFieldTypeText) Sortable() FtCreateFieldOptionSortableSortable { c.cs.s = append(c.cs.s, "SORTABLE") return (FtCreateFieldOptionSortableSortable)(c) @@ -2025,6 +2346,21 @@ func (c FtCreateFieldFieldTypeText) Casesensitive() FtCreateFieldOptionCasesensi return (FtCreateFieldOptionCasesensitive)(c) } +func (c FtCreateFieldFieldTypeText) Withsuffixtrie() FtCreateFieldOptionWithsuffixtrie { + c.cs.s = append(c.cs.s, "WITHSUFFIXTRIE") + return (FtCreateFieldOptionWithsuffixtrie)(c) +} + +func (c FtCreateFieldFieldTypeText) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldFieldTypeText) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + func (c FtCreateFieldFieldTypeText) FieldName(fieldName string) FtCreateFieldFieldName { c.cs.s = append(c.cs.s, fieldName) return (FtCreateFieldFieldName)(c) @@ -2037,11 +2373,6 @@ func (c FtCreateFieldFieldTypeText) Build() Completed { type FtCreateFieldFieldTypeVector Incomplete -func (c FtCreateFieldFieldTypeVector) Withsuffixtrie() FtCreateFieldOptionWithsuffixtrie { - c.cs.s = append(c.cs.s, "WITHSUFFIXTRIE") - return (FtCreateFieldOptionWithsuffixtrie)(c) -} - func (c FtCreateFieldFieldTypeVector) Sortable() FtCreateFieldOptionSortableSortable { c.cs.s = append(c.cs.s, "SORTABLE") return (FtCreateFieldOptionSortableSortable)(c) @@ -2077,6 +2408,21 @@ func (c FtCreateFieldFieldTypeVector) Casesensitive() FtCreateFieldOptionCasesen return (FtCreateFieldOptionCasesensitive)(c) } +func (c FtCreateFieldFieldTypeVector) Withsuffixtrie() FtCreateFieldOptionWithsuffixtrie { + c.cs.s = append(c.cs.s, "WITHSUFFIXTRIE") + return (FtCreateFieldOptionWithsuffixtrie)(c) +} + +func (c FtCreateFieldFieldTypeVector) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldFieldTypeVector) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + func (c FtCreateFieldFieldTypeVector) FieldName(fieldName string) FtCreateFieldFieldName { c.cs.s = append(c.cs.s, fieldName) return (FtCreateFieldFieldName)(c) @@ -2094,6 +2440,16 @@ func (c FtCreateFieldOptionCasesensitive) Withsuffixtrie() FtCreateFieldOptionWi return (FtCreateFieldOptionWithsuffixtrie)(c) } +func (c FtCreateFieldOptionCasesensitive) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldOptionCasesensitive) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + func (c FtCreateFieldOptionCasesensitive) Sortable() FtCreateFieldOptionSortableSortable { c.cs.s = append(c.cs.s, "SORTABLE") return (FtCreateFieldOptionSortableSortable)(c) @@ -2139,6 +2495,130 @@ func (c FtCreateFieldOptionCasesensitive) Build() Completed { return Completed{cs: c.cs, cf: uint16(c.cf), ks: c.ks} } +type FtCreateFieldOptionIndexempty Incomplete + +func (c FtCreateFieldOptionIndexempty) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + +func (c FtCreateFieldOptionIndexempty) Sortable() FtCreateFieldOptionSortableSortable { + c.cs.s = append(c.cs.s, "SORTABLE") + return (FtCreateFieldOptionSortableSortable)(c) +} + +func (c FtCreateFieldOptionIndexempty) Noindex() FtCreateFieldOptionNoindex { + c.cs.s = append(c.cs.s, "NOINDEX") + return (FtCreateFieldOptionNoindex)(c) +} + +func (c FtCreateFieldOptionIndexempty) Nostem() FtCreateFieldOptionNostem { + c.cs.s = append(c.cs.s, "NOSTEM") + return (FtCreateFieldOptionNostem)(c) +} + +func (c FtCreateFieldOptionIndexempty) Phonetic(phonetic string) FtCreateFieldOptionPhonetic { + c.cs.s = append(c.cs.s, "PHONETIC", phonetic) + return (FtCreateFieldOptionPhonetic)(c) +} + +func (c FtCreateFieldOptionIndexempty) Weight(weight float64) FtCreateFieldOptionWeight { + c.cs.s = append(c.cs.s, "WEIGHT", strconv.FormatFloat(weight, 'f', -1, 64)) + return (FtCreateFieldOptionWeight)(c) +} + +func (c FtCreateFieldOptionIndexempty) Separator(separator string) FtCreateFieldOptionSeparator { + c.cs.s = append(c.cs.s, "SEPARATOR", separator) + return (FtCreateFieldOptionSeparator)(c) +} + +func (c FtCreateFieldOptionIndexempty) Casesensitive() FtCreateFieldOptionCasesensitive { + c.cs.s = append(c.cs.s, "CASESENSITIVE") + return (FtCreateFieldOptionCasesensitive)(c) +} + +func (c FtCreateFieldOptionIndexempty) Withsuffixtrie() FtCreateFieldOptionWithsuffixtrie { + c.cs.s = append(c.cs.s, "WITHSUFFIXTRIE") + return (FtCreateFieldOptionWithsuffixtrie)(c) +} + +func (c FtCreateFieldOptionIndexempty) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return c +} + +func (c FtCreateFieldOptionIndexempty) FieldName(fieldName string) FtCreateFieldFieldName { + c.cs.s = append(c.cs.s, fieldName) + return (FtCreateFieldFieldName)(c) +} + +func (c FtCreateFieldOptionIndexempty) Build() Completed { + c.cs.Build() + return Completed{cs: c.cs, cf: uint16(c.cf), ks: c.ks} +} + +type FtCreateFieldOptionIndexmissing Incomplete + +func (c FtCreateFieldOptionIndexmissing) Sortable() FtCreateFieldOptionSortableSortable { + c.cs.s = append(c.cs.s, "SORTABLE") + return (FtCreateFieldOptionSortableSortable)(c) +} + +func (c FtCreateFieldOptionIndexmissing) Noindex() FtCreateFieldOptionNoindex { + c.cs.s = append(c.cs.s, "NOINDEX") + return (FtCreateFieldOptionNoindex)(c) +} + +func (c FtCreateFieldOptionIndexmissing) Nostem() FtCreateFieldOptionNostem { + c.cs.s = append(c.cs.s, "NOSTEM") + return (FtCreateFieldOptionNostem)(c) +} + +func (c FtCreateFieldOptionIndexmissing) Phonetic(phonetic string) FtCreateFieldOptionPhonetic { + c.cs.s = append(c.cs.s, "PHONETIC", phonetic) + return (FtCreateFieldOptionPhonetic)(c) +} + +func (c FtCreateFieldOptionIndexmissing) Weight(weight float64) FtCreateFieldOptionWeight { + c.cs.s = append(c.cs.s, "WEIGHT", strconv.FormatFloat(weight, 'f', -1, 64)) + return (FtCreateFieldOptionWeight)(c) +} + +func (c FtCreateFieldOptionIndexmissing) Separator(separator string) FtCreateFieldOptionSeparator { + c.cs.s = append(c.cs.s, "SEPARATOR", separator) + return (FtCreateFieldOptionSeparator)(c) +} + +func (c FtCreateFieldOptionIndexmissing) Casesensitive() FtCreateFieldOptionCasesensitive { + c.cs.s = append(c.cs.s, "CASESENSITIVE") + return (FtCreateFieldOptionCasesensitive)(c) +} + +func (c FtCreateFieldOptionIndexmissing) Withsuffixtrie() FtCreateFieldOptionWithsuffixtrie { + c.cs.s = append(c.cs.s, "WITHSUFFIXTRIE") + return (FtCreateFieldOptionWithsuffixtrie)(c) +} + +func (c FtCreateFieldOptionIndexmissing) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldOptionIndexmissing) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return c +} + +func (c FtCreateFieldOptionIndexmissing) FieldName(fieldName string) FtCreateFieldFieldName { + c.cs.s = append(c.cs.s, fieldName) + return (FtCreateFieldFieldName)(c) +} + +func (c FtCreateFieldOptionIndexmissing) Build() Completed { + c.cs.Build() + return Completed{cs: c.cs, cf: uint16(c.cf), ks: c.ks} +} + type FtCreateFieldOptionNoindex Incomplete func (c FtCreateFieldOptionNoindex) Nostem() FtCreateFieldOptionNostem { @@ -2171,6 +2651,16 @@ func (c FtCreateFieldOptionNoindex) Withsuffixtrie() FtCreateFieldOptionWithsuff return (FtCreateFieldOptionWithsuffixtrie)(c) } +func (c FtCreateFieldOptionNoindex) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldOptionNoindex) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + func (c FtCreateFieldOptionNoindex) Sortable() FtCreateFieldOptionSortableSortable { c.cs.s = append(c.cs.s, "SORTABLE") return (FtCreateFieldOptionSortableSortable)(c) @@ -2218,6 +2708,16 @@ func (c FtCreateFieldOptionNostem) Withsuffixtrie() FtCreateFieldOptionWithsuffi return (FtCreateFieldOptionWithsuffixtrie)(c) } +func (c FtCreateFieldOptionNostem) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldOptionNostem) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + func (c FtCreateFieldOptionNostem) Sortable() FtCreateFieldOptionSortableSortable { c.cs.s = append(c.cs.s, "SORTABLE") return (FtCreateFieldOptionSortableSortable)(c) @@ -2265,6 +2765,16 @@ func (c FtCreateFieldOptionPhonetic) Withsuffixtrie() FtCreateFieldOptionWithsuf return (FtCreateFieldOptionWithsuffixtrie)(c) } +func (c FtCreateFieldOptionPhonetic) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldOptionPhonetic) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + func (c FtCreateFieldOptionPhonetic) Sortable() FtCreateFieldOptionSortableSortable { c.cs.s = append(c.cs.s, "SORTABLE") return (FtCreateFieldOptionSortableSortable)(c) @@ -2307,6 +2817,16 @@ func (c FtCreateFieldOptionSeparator) Withsuffixtrie() FtCreateFieldOptionWithsu return (FtCreateFieldOptionWithsuffixtrie)(c) } +func (c FtCreateFieldOptionSeparator) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldOptionSeparator) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + func (c FtCreateFieldOptionSeparator) Sortable() FtCreateFieldOptionSortableSortable { c.cs.s = append(c.cs.s, "SORTABLE") return (FtCreateFieldOptionSortableSortable)(c) @@ -2389,6 +2909,16 @@ func (c FtCreateFieldOptionSortableSortable) Withsuffixtrie() FtCreateFieldOptio return (FtCreateFieldOptionWithsuffixtrie)(c) } +func (c FtCreateFieldOptionSortableSortable) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldOptionSortableSortable) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + func (c FtCreateFieldOptionSortableSortable) Sortable() FtCreateFieldOptionSortableSortable { c.cs.s = append(c.cs.s, "SORTABLE") return c @@ -2441,6 +2971,16 @@ func (c FtCreateFieldOptionSortableUnf) Withsuffixtrie() FtCreateFieldOptionWith return (FtCreateFieldOptionWithsuffixtrie)(c) } +func (c FtCreateFieldOptionSortableUnf) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldOptionSortableUnf) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + func (c FtCreateFieldOptionSortableUnf) Sortable() FtCreateFieldOptionSortableSortable { c.cs.s = append(c.cs.s, "SORTABLE") return (FtCreateFieldOptionSortableSortable)(c) @@ -2473,6 +3013,16 @@ func (c FtCreateFieldOptionWeight) Withsuffixtrie() FtCreateFieldOptionWithsuffi return (FtCreateFieldOptionWithsuffixtrie)(c) } +func (c FtCreateFieldOptionWeight) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldOptionWeight) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + func (c FtCreateFieldOptionWeight) Sortable() FtCreateFieldOptionSortableSortable { c.cs.s = append(c.cs.s, "SORTABLE") return (FtCreateFieldOptionSortableSortable)(c) @@ -2510,6 +3060,16 @@ func (c FtCreateFieldOptionWeight) Build() Completed { type FtCreateFieldOptionWithsuffixtrie Incomplete +func (c FtCreateFieldOptionWithsuffixtrie) Indexempty() FtCreateFieldOptionIndexempty { + c.cs.s = append(c.cs.s, "INDEXEMPTY") + return (FtCreateFieldOptionIndexempty)(c) +} + +func (c FtCreateFieldOptionWithsuffixtrie) Indexmissing() FtCreateFieldOptionIndexmissing { + c.cs.s = append(c.cs.s, "INDEXMISSING") + return (FtCreateFieldOptionIndexmissing)(c) +} + func (c FtCreateFieldOptionWithsuffixtrie) Sortable() FtCreateFieldOptionSortableSortable { c.cs.s = append(c.cs.s, "SORTABLE") return (FtCreateFieldOptionSortableSortable)(c) @@ -5700,6 +6260,11 @@ func (c FtSearchSlop) Build() Completed { type FtSearchSortbyOrderAsc Incomplete +func (c FtSearchSortbyOrderAsc) Withcount() FtSearchSortbyWithcount { + c.cs.s = append(c.cs.s, "WITHCOUNT") + return (FtSearchSortbyWithcount)(c) +} + func (c FtSearchSortbyOrderAsc) Limit() FtSearchLimitLimit { c.cs.s = append(c.cs.s, "LIMIT") return (FtSearchLimitLimit)(c) @@ -5722,6 +6287,11 @@ func (c FtSearchSortbyOrderAsc) Build() Completed { type FtSearchSortbyOrderDesc Incomplete +func (c FtSearchSortbyOrderDesc) Withcount() FtSearchSortbyWithcount { + c.cs.s = append(c.cs.s, "WITHCOUNT") + return (FtSearchSortbyWithcount)(c) +} + func (c FtSearchSortbyOrderDesc) Limit() FtSearchLimitLimit { c.cs.s = append(c.cs.s, "LIMIT") return (FtSearchLimitLimit)(c) @@ -5754,6 +6324,11 @@ func (c FtSearchSortbySortby) Desc() FtSearchSortbyOrderDesc { return (FtSearchSortbyOrderDesc)(c) } +func (c FtSearchSortbySortby) Withcount() FtSearchSortbyWithcount { + c.cs.s = append(c.cs.s, "WITHCOUNT") + return (FtSearchSortbyWithcount)(c) +} + func (c FtSearchSortbySortby) Limit() FtSearchLimitLimit { c.cs.s = append(c.cs.s, "LIMIT") return (FtSearchLimitLimit)(c) @@ -5774,6 +6349,28 @@ func (c FtSearchSortbySortby) Build() Completed { return Completed{cs: c.cs, cf: uint16(c.cf), ks: c.ks} } +type FtSearchSortbyWithcount Incomplete + +func (c FtSearchSortbyWithcount) Limit() FtSearchLimitLimit { + c.cs.s = append(c.cs.s, "LIMIT") + return (FtSearchLimitLimit)(c) +} + +func (c FtSearchSortbyWithcount) Params() FtSearchParamsParams { + c.cs.s = append(c.cs.s, "PARAMS") + return (FtSearchParamsParams)(c) +} + +func (c FtSearchSortbyWithcount) Dialect(dialect int64) FtSearchDialect { + c.cs.s = append(c.cs.s, "DIALECT", strconv.FormatInt(dialect, 10)) + return (FtSearchDialect)(c) +} + +func (c FtSearchSortbyWithcount) Build() Completed { + c.cs.Build() + return Completed{cs: c.cs, cf: uint16(c.cf), ks: c.ks} +} + type FtSearchSummarizeFieldsField Incomplete func (c FtSearchSummarizeFieldsField) Field(field ...string) FtSearchSummarizeFieldsField { diff --git a/internal/cmds/gen_search_test.go b/internal/cmds/gen_search_test.go index 0a48d1a8..c782e3aa 100644 --- a/internal/cmds/gen_search_test.go +++ b/internal/cmds/gen_search_test.go @@ -5,158 +5,190 @@ package cmds import "testing" func search0(s Builder) { - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Withcursor().Count(1).Maxidle(1).Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Withcursor().Count(1).Maxidle(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Withcursor().Count(1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Withcursor().Count(1).Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Withcursor().Count(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Withcursor().Maxidle(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Withcursor().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Withcursor().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Withcursor().Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Max(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Max(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Max(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Sortby(1).Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Sortby(1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Sortby(1).Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Sortby(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Sortby(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Sortby(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Asc().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Desc().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Sortby(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").By("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Asc().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Desc().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Sortby(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Filter("1").Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Withcursor().Count(1).Maxidle(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Withcursor().Count(1).Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Withcursor().Count(1).Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Withcursor().Count(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Withcursor().Maxidle(1).Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Withcursor().Maxidle(1).Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Withcursor().Maxidle(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Withcursor().Addscores().Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Withcursor().Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Withcursor().Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcount().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Max(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Withcount().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Asc().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Max(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Withcount().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Desc().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Max(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Withcount().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Property("1").Property("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Max(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Withcount().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Sortby(1).Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Sortby(1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Sortby(1).Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Sortby(1).Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Sortby(1).Sortby(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Sortby(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Desc().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Sortby(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Apply("1").As("1").Build() } func search1(s Builder) { - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).By("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Asc().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Desc().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Sortby(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Sortby(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Reduce("1").Nargs(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Sortby(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Sortby(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Groupby(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Sortby(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Apply("1").As("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Limit().OffsetNum(1, 1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Filter("1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().LoadAll().Withcursor().Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().LoadAll().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().LoadAll().Dialect(1).Build() - s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().LoadAll().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Asc().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Desc().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Sortby(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").By("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Asc().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Desc().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Sortby(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).By("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Asc().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Desc().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Sortby(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Sortby(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Reduce("1").Nargs(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Sortby(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Groupby(1).Groupby(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Sortby(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").Load(1).Field("1").Field("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Groupby(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Sortby(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Apply("1").As("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Limit().OffsetNum(1, 1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().Filter("1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().LoadAll().Withcursor().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().LoadAll().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().LoadAll().Addscores().Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().LoadAll().Dialect(1).Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).LoadAll().Load(1).Field("1").Field("1").Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Groupby(1).Property("1").Property("1").Reduce("1").Nargs(1).Arg("1").Arg("1").As("1").By("1").Asc().Sortby(1).Property("1").Asc().Property("1").Asc().Max(1).Withcount().Apply("1").As("1").Apply("1").As("1").Limit().OffsetNum(1, 1).Filter("1").LoadAll().LoadAll().Build() s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).Load(1).Field("1").Field("1").Build() s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).Groupby(1).Build() s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).Sortby(1).Build() @@ -165,6 +197,7 @@ func search1(s Builder) { s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).Filter("1").Build() s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).Withcursor().Build() s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).Addscores().Build() s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).Dialect(1).Build() s.FtAggregate().Index("1").Query("1").Verbatim().Timeout(1).Build() s.FtAggregate().Index("1").Query("1").Verbatim().LoadAll().Build() @@ -175,7 +208,11 @@ func search1(s Builder) { s.FtAggregate().Index("1").Query("1").Verbatim().Limit().OffsetNum(1, 1).Build() s.FtAggregate().Index("1").Query("1").Verbatim().Filter("1").Build() s.FtAggregate().Index("1").Query("1").Verbatim().Withcursor().Build() +} + +func search2(s Builder) { s.FtAggregate().Index("1").Query("1").Verbatim().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Verbatim().Addscores().Build() s.FtAggregate().Index("1").Query("1").Verbatim().Dialect(1).Build() s.FtAggregate().Index("1").Query("1").Verbatim().Build() s.FtAggregate().Index("1").Query("1").Timeout(1).Build() @@ -188,6 +225,7 @@ func search1(s Builder) { s.FtAggregate().Index("1").Query("1").Filter("1").Build() s.FtAggregate().Index("1").Query("1").Withcursor().Build() s.FtAggregate().Index("1").Query("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtAggregate().Index("1").Query("1").Addscores().Build() s.FtAggregate().Index("1").Query("1").Dialect(1).Build() s.FtAggregate().Index("1").Query("1").Build() s.FtAliasadd().Alias("1").Index("1").Build() @@ -198,69 +236,111 @@ func search1(s Builder) { s.FtConfigGet().Option("1").Build() s.FtConfigHelp().Option("1").Build() s.FtConfigSet().Option("1").Value("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Phonetic("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Weight(1).Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Separator("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Casesensitive().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Noindex().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Nostem().Phonetic("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Nostem().Weight(1).Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Nostem().Separator("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Nostem().Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Noindex().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Nostem().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Phonetic("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Weight(1).Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Separator("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexmissing().Noindex().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexmissing().Nostem().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexmissing().Phonetic("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexmissing().Weight(1).Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexmissing().Separator("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexmissing().Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexmissing().Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexmissing().Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexmissing().Indexmissing().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Noindex().Nostem().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Noindex().Phonetic("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Noindex().Weight(1).Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Noindex().Separator("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Noindex().Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Noindex().Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Noindex().Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Noindex().Indexmissing().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Noindex().Noindex().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Nostem().Phonetic("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Nostem().Weight(1).Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Nostem().Separator("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Nostem().Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Nostem().Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Nostem().Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Nostem().Indexmissing().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Nostem().Noindex().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Nostem().Nostem().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Phonetic("1").Weight(1).Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Phonetic("1").Separator("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Phonetic("1").Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Phonetic("1").Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Phonetic("1").Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Phonetic("1").Indexmissing().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Phonetic("1").Noindex().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Phonetic("1").Nostem().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Phonetic("1").Phonetic("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Weight(1).Separator("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Weight(1).Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Weight(1).Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Weight(1).Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Weight(1).Indexmissing().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Weight(1).Noindex().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Weight(1).Nostem().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Weight(1).Phonetic("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Weight(1).Weight(1).Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Separator("1").Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Separator("1").Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Separator("1").Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Separator("1").Indexmissing().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Separator("1").Noindex().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Separator("1").Nostem().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Separator("1").Phonetic("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Separator("1").Weight(1).Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Separator("1").Separator("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Casesensitive().Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Casesensitive().Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Casesensitive().Indexmissing().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Casesensitive().Noindex().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Casesensitive().Nostem().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Casesensitive().Phonetic("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Casesensitive().Weight(1).Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Casesensitive().Separator("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Casesensitive().Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Nostem().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Phonetic("1").Build() } -func search2(s Builder) { - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Nostem().Noindex().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Nostem().Nostem().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Phonetic("1").Weight(1).Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Phonetic("1").Separator("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Phonetic("1").Casesensitive().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Phonetic("1").Noindex().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Phonetic("1").Nostem().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Phonetic("1").Phonetic("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Weight(1).Separator("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Weight(1).Casesensitive().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Weight(1).Noindex().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Weight(1).Nostem().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Weight(1).Phonetic("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Weight(1).Weight(1).Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Separator("1").Casesensitive().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Separator("1").Noindex().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Separator("1").Nostem().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Separator("1").Phonetic("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Separator("1").Weight(1).Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Separator("1").Separator("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Casesensitive().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Nostem().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Phonetic("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Weight(1).Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Separator("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Casesensitive().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Unf().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Noindex().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Nostem().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Phonetic("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Weight(1).Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Separator("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Casesensitive().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Sortable().Sortable().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Noindex().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Nostem().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Phonetic("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Weight(1).Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Separator("1").Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Casesensitive().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Withsuffixtrie().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Build() +func search3(s Builder) { + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Weight(1).Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Separator("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Indexmissing().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Unf().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Noindex().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Nostem().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Phonetic("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Weight(1).Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Separator("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Indexmissing().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Sortable().Unf().Noindex().Nostem().Phonetic("1").Weight(1).Separator("1").Casesensitive().Withsuffixtrie().Indexempty().Indexmissing().Sortable().Sortable().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Noindex().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Nostem().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Phonetic("1").Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Weight(1).Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Separator("1").Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Indexmissing().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Tag().Withsuffixtrie().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Tag().Sortable().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Tag().Noindex().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Tag().Nostem().Build() @@ -268,8 +348,10 @@ func search2(s Builder) { s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Tag().Weight(1).Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Tag().Separator("1").Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Tag().Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Tag().Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Tag().Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Tag().Indexmissing().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Tag().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Numeric().Withsuffixtrie().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Numeric().Sortable().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Numeric().Noindex().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Numeric().Nostem().Build() @@ -277,8 +359,10 @@ func search2(s Builder) { s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Numeric().Weight(1).Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Numeric().Separator("1").Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Numeric().Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Numeric().Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Numeric().Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Numeric().Indexmissing().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Numeric().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geo().Withsuffixtrie().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geo().Sortable().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geo().Noindex().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geo().Nostem().Build() @@ -286,8 +370,10 @@ func search2(s Builder) { s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geo().Weight(1).Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geo().Separator("1").Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geo().Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geo().Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geo().Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geo().Indexmissing().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geo().Build() - s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Vector("1", 1).Withsuffixtrie().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Vector("1", 1).Sortable().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Vector("1", 1).Noindex().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Vector("1", 1).Nostem().Build() @@ -295,12 +381,27 @@ func search2(s Builder) { s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Vector("1", 1).Weight(1).Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Vector("1", 1).Separator("1").Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Vector("1", 1).Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Vector("1", 1).Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Vector("1", 1).Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Vector("1", 1).Indexmissing().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Vector("1", 1).Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geoshape().Sortable().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geoshape().Noindex().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geoshape().Nostem().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geoshape().Phonetic("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geoshape().Weight(1).Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geoshape().Separator("1").Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geoshape().Casesensitive().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geoshape().Withsuffixtrie().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geoshape().Indexempty().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geoshape().Indexmissing().Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Geoshape().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").Text().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").Tag().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").Numeric().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").Geo().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").Vector("1", 1).Build() + s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").Geoshape().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Schema().FieldName("1").As("1").Text().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Schema().FieldName("1").As("1").Text().Build() @@ -311,11 +412,11 @@ func search2(s Builder) { s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Schema().FieldName("1").As("1").Text().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() -} - -func search3(s Builder) { s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Schema().FieldName("1").As("1").Text().Build() +} + +func search4(s Builder) { s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() s.FtCreate().Index("1").OnHash().Prefix(1).Prefix("1").Prefix("1").Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() @@ -414,11 +515,11 @@ func search3(s Builder) { s.FtCreate().Index("1").OnHash().Filter("1").Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() s.FtCreate().Index("1").OnHash().Language("1").LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() s.FtCreate().Index("1").OnHash().LanguageField("1").Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() -} - -func search4(s Builder) { s.FtCreate().Index("1").OnHash().Score(1).ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() s.FtCreate().Index("1").OnHash().ScoreField("1").PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() +} + +func search5(s Builder) { s.FtCreate().Index("1").OnHash().PayloadField("1").Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() s.FtCreate().Index("1").OnHash().Maxtextfields().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() s.FtCreate().Index("1").OnHash().Temporary(1).Nooffsets().Nohl().Nofields().Nofreqs().Stopwords(1).Stopword("1").Stopword("1").Skipinitialscan().Schema().FieldName("1").As("1").Text().Build() @@ -479,17 +580,23 @@ func search4(s Builder) { s.FtProfile().Index("1").Search().Query("1").Build() s.FtProfile().Index("1").Aggregate().Limited().Query("1").Build() s.FtProfile().Index("1").Aggregate().Query("1").Build() - s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Asc().Limit().OffsetNum(1, 1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Dialect(1).Build() - s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Asc().Limit().OffsetNum(1, 1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() - s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Asc().Limit().OffsetNum(1, 1).Dialect(1).Build() + s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Asc().Withcount().Limit().OffsetNum(1, 1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Dialect(1).Build() + s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Asc().Withcount().Limit().OffsetNum(1, 1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Asc().Withcount().Limit().OffsetNum(1, 1).Dialect(1).Build() + s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Asc().Withcount().Limit().OffsetNum(1, 1).Build() + s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Asc().Withcount().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() + s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Asc().Withcount().Dialect(1).Build() + s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Asc().Withcount().Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Asc().Limit().OffsetNum(1, 1).Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Asc().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Asc().Dialect(1).Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Asc().Build() + s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Desc().Withcount().Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Desc().Limit().OffsetNum(1, 1).Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Desc().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Desc().Dialect(1).Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Desc().Build() + s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Withcount().Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Limit().OffsetNum(1, 1).Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Scorer("1").Explainscore().Payload("1").Sortby("1").Dialect(1).Build() @@ -513,13 +620,13 @@ func search4(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Payload("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Sortby("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Limit().OffsetNum(1, 1).Build() +} + +func search6(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Dialect(1).Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Expander("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Scorer("1").Build() -} - -func search5(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Explainscore().Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Payload("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Separator("1").Highlight().Fields("1").Field("1").Field("1").Tags().OpenClose("1", "1").Slop(1).Timeout(1).Inorder().Language("1").Sortby("1").Build() @@ -616,13 +723,13 @@ func search5(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Language("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Expander("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Scorer("1").Build() +} + +func search7(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Explainscore().Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Payload("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Sortby("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Limit().OffsetNum(1, 1).Build() -} - -func search6(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Dialect(1).Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Return("1").Identifier("1").As("1").Identifier("1").As("1").Summarize().Fields("1").Field("1").Field("1").Frags(1).Len(1).Build() @@ -719,13 +826,13 @@ func search6(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Dialect(1).Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Infields("1").Field("1").Field("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Return("1").Identifier("1").Build() +} + +func search8(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Summarize().Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Highlight().Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Slop(1).Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Timeout(1).Build() -} - -func search7(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Inorder().Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Language("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Geofilter("1").Lon(1).Lat(1).Radius(1).M().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Inkeys("1").Key("1").Key("1").Expander("1").Build() @@ -822,13 +929,13 @@ func search7(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Explainscore().Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Payload("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Sortby("1").Build() +} + +func search9(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Limit().OffsetNum(1, 1).Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Dialect(1).Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Filter("1").Min(1).Max(1).Filter("1").Min(1).Max(1).Build() -} - -func search8(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Geofilter("1").Lon(1).Lat(1).Radius(1).M().Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Inkeys("1").Key("1").Key("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Nostopwords().Withscores().Withpayloads().Withsortkeys().Infields("1").Field("1").Field("1").Build() @@ -925,13 +1032,13 @@ func search8(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Timeout(1).Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Inorder().Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Language("1").Build() +} + +func search10(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Expander("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Scorer("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Explainscore().Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Payload("1").Build() -} - -func search9(s Builder) { s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Sortby("1").Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Limit().OffsetNum(1, 1).Build() s.FtSearch().Index("1").Query("1").Nocontent().Verbatim().Params().Nargs(1).NameValue().NameValue("1", "1").NameValue("1", "1").Build() @@ -1015,6 +1122,7 @@ func TestCommand_InitSlot_search(t *testing.T) { t.Run("7", func(t *testing.T) { search7(s) }) t.Run("8", func(t *testing.T) { search8(s) }) t.Run("9", func(t *testing.T) { search9(s) }) + t.Run("10", func(t *testing.T) { search10(s) }) } func TestCommand_NoSlot_search(t *testing.T) { @@ -1029,4 +1137,5 @@ func TestCommand_NoSlot_search(t *testing.T) { t.Run("7", func(t *testing.T) { search7(s) }) t.Run("8", func(t *testing.T) { search8(s) }) t.Run("9", func(t *testing.T) { search9(s) }) + t.Run("10", func(t *testing.T) { search10(s) }) } diff --git a/rueidiscompat/adapter.go b/rueidiscompat/adapter.go index d6ee60bd..4de9dbf9 100644 --- a/rueidiscompat/adapter.go +++ b/rueidiscompat/adapter.go @@ -425,40 +425,39 @@ type CoreCmdable interface { ProbabilisticCmdable TimeseriesCmdable JSONCmdable - // TODO SearchCmdable -} - -// TODO SearchCmdable -//type SearchCmdable interface { -// FT_List(ctx context.Context) *StringSliceCmd -// FTAggregate(ctx context.Context, index string, query string) *MapStringInterfaceCmd -// FTAggregateWithArgs(ctx context.Context, index string, query string, options *FTAggregateOptions) *AggregateCmd -// FTAliasAdd(ctx context.Context, index string, alias string) *StatusCmd -// FTAliasDel(ctx context.Context, alias string) *StatusCmd -// FTAliasUpdate(ctx context.Context, index string, alias string) *StatusCmd -// FTAlter(ctx context.Context, index string, skipInitalScan bool, definition []interface{}) *StatusCmd -// FTConfigGet(ctx context.Context, option string) *MapMapStringInterfaceCmd -// FTConfigSet(ctx context.Context, option string, value interface{}) *StatusCmd -// FTCreate(ctx context.Context, index string, options *FTCreateOptions, schema ...*FieldSchema) *StatusCmd -// FTCursorDel(ctx context.Context, index string, cursorId int) *StatusCmd -// FTCursorRead(ctx context.Context, index string, cursorId int, count int) *MapStringInterfaceCmd -// FTDictAdd(ctx context.Context, dict string, term ...interface{}) *IntCmd -// FTDictDel(ctx context.Context, dict string, term ...interface{}) *IntCmd -// FTDictDump(ctx context.Context, dict string) *StringSliceCmd -// FTDropIndex(ctx context.Context, index string) *StatusCmd -// FTDropIndexWithArgs(ctx context.Context, index string, options *FTDropIndexOptions) *StatusCmd -// FTExplain(ctx context.Context, index string, query string) *StringCmd -// FTExplainWithArgs(ctx context.Context, index string, query string, options *FTExplainOptions) *StringCmd -// FTInfo(ctx context.Context, index string) *FTInfoCmd -// FTSpellCheck(ctx context.Context, index string, query string) *FTSpellCheckCmd -// FTSpellCheckWithArgs(ctx context.Context, index string, query string, options *FTSpellCheckOptions) *FTSpellCheckCmd -// FTSearch(ctx context.Context, index string, query string) *FTSearchCmd -// FTSearchWithArgs(ctx context.Context, index string, query string, options *FTSearchOptions) *FTSearchCmd -// FTSynDump(ctx context.Context, index string) *FTSynDumpCmd -// FTSynUpdate(ctx context.Context, index string, synGroupId interface{}, terms []interface{}) *StatusCmd -// FTSynUpdateWithArgs(ctx context.Context, index string, synGroupId interface{}, options *FTSynUpdateOptions, terms []interface{}) *StatusCmd -// FTTagVals(ctx context.Context, index string, field string) *StringSliceCmd -//} + SearchCmdable +} + +type SearchCmdable interface { + FT_List(ctx context.Context) *StringSliceCmd + FTAggregate(ctx context.Context, index string, query string) *MapStringInterfaceCmd + FTAggregateWithArgs(ctx context.Context, index string, query string, options *FTAggregateOptions) *AggregateCmd + FTAliasAdd(ctx context.Context, index string, alias string) *StatusCmd + FTAliasDel(ctx context.Context, alias string) *StatusCmd + FTAliasUpdate(ctx context.Context, index string, alias string) *StatusCmd + FTAlter(ctx context.Context, index string, skipInitalScan bool, definition []interface{}) *StatusCmd + FTConfigGet(ctx context.Context, option string) *MapMapStringInterfaceCmd + FTConfigSet(ctx context.Context, option string, value interface{}) *StatusCmd + FTCreate(ctx context.Context, index string, options *FTCreateOptions, schema ...*FieldSchema) *StatusCmd + FTCursorDel(ctx context.Context, index string, cursorId int) *StatusCmd + FTCursorRead(ctx context.Context, index string, cursorId int, count int) *MapStringInterfaceCmd + FTDictAdd(ctx context.Context, dict string, term ...interface{}) *IntCmd + FTDictDel(ctx context.Context, dict string, term ...interface{}) *IntCmd + FTDictDump(ctx context.Context, dict string) *StringSliceCmd + FTDropIndex(ctx context.Context, index string) *StatusCmd + FTDropIndexWithArgs(ctx context.Context, index string, options *FTDropIndexOptions) *StatusCmd + FTExplain(ctx context.Context, index string, query string) *StringCmd + FTExplainWithArgs(ctx context.Context, index string, query string, options *FTExplainOptions) *StringCmd + FTInfo(ctx context.Context, index string) *FTInfoCmd + FTSpellCheck(ctx context.Context, index string, query string) *FTSpellCheckCmd + FTSpellCheckWithArgs(ctx context.Context, index string, query string, options *FTSpellCheckOptions) *FTSpellCheckCmd + FTSearch(ctx context.Context, index string, query string) *FTSearchCmd + FTSearchWithArgs(ctx context.Context, index string, query string, options *FTSearchOptions) *FTSearchCmd + FTSynDump(ctx context.Context, index string) *FTSynDumpCmd + FTSynUpdate(ctx context.Context, index string, synGroupId interface{}, terms []interface{}) *StatusCmd + FTSynUpdateWithArgs(ctx context.Context, index string, synGroupId interface{}, options *FTSynUpdateOptions, terms []interface{}) *StatusCmd + FTTagVals(ctx context.Context, index string, field string) *StringSliceCmd +} // https://github.com/redis/go-redis/blob/af4872cbd0de349855ce3f0978929c2f56eb995f/probabilistic.go#L10 type ProbabilisticCmdable interface { @@ -4835,6 +4834,786 @@ func (c *Compat) Watch(ctx context.Context, fn func(Tx) error, keys ...string) e return fn(newTx(dc, cancel)) } +func (c *Compat) FT_List(ctx context.Context) *StringSliceCmd { + cmd := c.client.B().FtList().Build() + return newStringSliceCmd(c.client.Do(ctx, cmd)) +} + +// FTAggregate - Performs a search query on an index and applies a series of aggregate transformations to the result. +// The 'index' parameter specifies the index to search, and the 'query' parameter specifies the search query. +// For more information, please refer to the Redis documentation: +// [FT.AGGREGATE]: (https://redis.io/commands/ft.aggregate/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L473 +func (c *Compat) FTAggregate(ctx context.Context, index string, query string) *MapStringInterfaceCmd { + cmd := c.client.B().FtAggregate().Index(index).Query(query).Build() + return newMapStringInterfaceCmd(c.client.Do(ctx, cmd)) +} + +// FTAggregateWithArgs - Performs a search query on an index and applies a series of aggregate transformations to the result. +// The 'index' parameter specifies the index to search, and the 'query' parameter specifies the search query. +// This function also allows for specifying additional options such as: Verbatim, LoadAll, Load, Timeout, GroupBy, SortBy, SortByMax, Apply, LimitOffset, Limit, Filter, WithCursor, Params, and DialectVersion. +// For more information, please refer to the Redis documentation: +// [FT.AGGREGATE]: (https://redis.io/commands/ft.aggregate/) +// see: go-redis v9.7.0: https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L671 +func (c *Compat) FTAggregateWithArgs(ctx context.Context, index string, query string, options *FTAggregateOptions) *AggregateCmd { + _cmd := cmds.Incomplete(c.client.B().FtAggregate().Index(index).Query(query)) + if options != nil { + // [VERBATIM] + if options.Verbatim { + _cmd = cmds.Incomplete(cmds.FtAggregateQuery(_cmd).Verbatim()) + } + // [LOAD count field [field ...]] + if options.LoadAll { + // LOAD * + _cmd = cmds.Incomplete(cmds.FtAggregateQuery(_cmd).LoadAll()) + } else { + // LOAD + _cmd = cmds.Incomplete(cmds.FtAggregateQuery(_cmd).Load(int64(len(options.Load)))) + fields := make([]string, 0, len(options.Load)) + for _, l := range options.Load { + fields = append(fields, l.Field) + } + _cmd = cmds.Incomplete(cmds.FtAggregateOpLoadLoad(_cmd).Field(fields...)) + } + // [TIMEOUT timeout] + if options.Timeout > 0 { + _cmd = cmds.Incomplete(cmds.FtAggregateQuery(_cmd).Timeout(int64(options.Timeout))) + } + // [ GROUPBY nargs property [property ...] [ REDUCE function nargs arg [arg ...] [AS name] [ REDUCE function nargs arg [arg ...] [AS name] ...]] ...]] + if options.GroupBy != nil { + for _, groupBy := range options.GroupBy { + _cmd = cmds.Incomplete(cmds.FtAggregateQuery(_cmd). + Groupby(int64(len(options.GroupBy))). + Property(argsToSlice(groupBy.Fields)...)) + for _, reduce := range groupBy.Reduce { + _cmd = cmds.Incomplete(cmds.FtAggregateOpGroupbyProperty(_cmd). + Reduce(reduce.Reducer.String()). + Nargs(int64(len(reduce.Args))). + Arg(argsToSlice(reduce.Args)...)) + if reduce.As != "" { + _cmd = cmds.Incomplete(cmds.FtAggregateOpGroupbyReduceArg(_cmd).As(reduce.As)) + } + } + } + } + // [ SORTBY nargs [ property ASC | DESC [ property ASC | DESC ...]] [MAX num] [WITHCOUNT] + if options.SortBy != nil { + var numOfArgs int64 = 0 + // count number of args to be passed in to cmds.FtAggregateQuery(_cmd).Sortby() + for _, sortBy := range options.SortBy { + numOfArgs++ + if sortBy.Asc && sortBy.Desc { + panic("FT.AGGREGATE: ASC and DESC are mutually exclusive") + } + if sortBy.Asc || sortBy.Desc { + numOfArgs++ + } + } + _cmd = cmds.Incomplete(cmds.FtAggregateQuery(_cmd).Sortby(numOfArgs)) + for _, sortBy := range options.SortBy { + _cmd = cmds.Incomplete(cmds.FtAggregateOpSortbySortby(_cmd).Property(sortBy.FieldName)) + if sortBy.Asc && sortBy.Desc { + panic("FT.AGGREGATE: ASC and DESC are mutually exclusive") + } + if sortBy.Asc { + // ASC + _cmd = cmds.Incomplete(cmds.FtAggregateOpSortbyFieldsProperty(_cmd).Asc()) + } + if sortBy.Desc { + // DESC + _cmd = cmds.Incomplete(cmds.FtAggregateOpSortbyFieldsProperty(_cmd).Desc()) + } + } + } + if options.SortByMax > 0 { + _cmd = cmds.Incomplete(cmds.FtAggregateOpSortbySortby(_cmd).Max(int64(options.SortByMax))) + } + // FIXME: go-redis doesn't provide WITHCOUNT option + + // [ APPLY expression AS name [ APPLY expression AS name ...]] + if options.Apply != nil { + for _, apply := range options.Apply { + _cmd = cmds.Incomplete(cmds.FtAggregateQuery(_cmd).Apply(apply.Field).As(apply.As)) + } + } + // [ LIMIT offset num] + if options.LimitOffset > 0 { + _cmd = cmds.Incomplete(cmds.FtAggregateQuery(_cmd).Limit().OffsetNum(int64(options.Limit), int64(options.LimitOffset))) + } + // [FILTER filter] + if options.Filter != "" { + _cmd = cmds.Incomplete(cmds.FtAggregateQuery(_cmd).Filter(options.Filter)) + } + // [ WITHCURSOR [COUNT read_size] [MAXIDLE idle_time]] + if options.WithCursor { + _cmd = cmds.Incomplete(cmds.FtAggregateQuery(_cmd).Withcursor()) + if options.WithCursorOptions != nil { + if options.WithCursorOptions.Count > 0 { + _cmd = cmds.Incomplete(cmds.FtAggregateCursorWithcursor(_cmd).Count(int64(options.WithCursorOptions.Count))) + } + if options.WithCursorOptions.MaxIdle > 0 { + _cmd = cmds.Incomplete(cmds.FtAggregateCursorWithcursor(_cmd).Maxidle(int64(options.WithCursorOptions.MaxIdle))) + } + } + } + // [ PARAMS nargs name value [ name value ...]] + if options.Params != nil { + _cmd = cmds.Incomplete(cmds.FtAggregateQuery(_cmd).Params().Nargs(int64(len(options.Params) * 2)).NameValue()) + for name, val := range options.Params { + _cmd = cmds.Incomplete(cmds.FtAggregateParamsNameValue(_cmd).NameValue(name, str(val))) + } + } + // [ADDSCORES]: NOTE: go-redis doesn't implement this option. + // [DIALECT dialect] + if options.DialectVersion > 0 { + _cmd = cmds.Incomplete(cmds.FtAggregateQuery(_cmd).Dialect(int64(options.DialectVersion))) + } + } + cmd := cmds.FtAggregateQuery(_cmd).Build() + return newAggregateCmd(c.client.Do(ctx, cmd)) +} + +// FTAliasAdd - Adds an alias to an index. +// The 'index' parameter specifies the index to which the alias is added, and the 'alias' parameter specifies the alias. +// For more information, please refer to the Redis documentation: +// [FT.ALIASADD]: (https://redis.io/commands/ft.aliasadd/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L782 +func (c *Compat) FTAliasAdd(ctx context.Context, index string, alias string) *StatusCmd { + cmd := c.client.B().FtAliasadd().Alias(alias).Index(index).Build() + return newStatusCmd(c.client.Do(ctx, cmd)) +} + +// FTAliasDel - Removes an alias from an index. +// The 'alias' parameter specifies the alias to be removed. +// For more information, please refer to the Redis documentation: +// [FT.ALIASDEL]: (https://redis.io/commands/ft.aliasdel/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L793 +func (c *Compat) FTAliasDel(ctx context.Context, alias string) *StatusCmd { + cmd := c.client.B().FtAliasdel().Alias(alias).Build() + return newStatusCmd(c.client.Do(ctx, cmd)) +} + +// FTAliasUpdate - Updates an alias to an index. +// The 'index' parameter specifies the index to which the alias is updated, and the 'alias' parameter specifies the alias. +// If the alias already exists for a different index, it updates the alias to point to the specified index instead. +// For more information, please refer to the Redis documentation: +// [FT.ALIASUPDATE]: (https://redis.io/commands/ft.aliasupdate/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L804 +func (c *Compat) FTAliasUpdate(ctx context.Context, index string, alias string) *StatusCmd { + cmd := c.client.B().FtAliasupdate().Alias(alias).Index(index).Build() + return newStatusCmd(c.client.Do(ctx, cmd)) +} + +// FTAlter - Alters the definition of an existing index. +// The 'index' parameter specifies the index to alter, and the 'skipInitialScan' parameter specifies whether to skip the initial scan. +// The 'definition' parameter specifies the new definition for the index. +// For more information, please refer to the Redis documentation: +// [FT.ALTER]: (https://redis.io/commands/ft.alter/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L815 +func (c *Compat) FTAlter(ctx context.Context, index string, skipInitalScan bool, definition []interface{}) *StatusCmd { + _cmd := cmds.Incomplete(c.client.B().FtAlter().Index(index)) + if skipInitalScan { + _cmd = cmds.Incomplete(cmds.FtAlterIndex(_cmd).Skipinitialscan()) + } + if len(definition) != 2 { + panic("definition should contain attribute and options") + } + cmd := cmds.FtAlterIndex(_cmd).Schema().Add().Field(str(definition[0])).Options(str(definition[1])).Build() + return newStatusCmd(c.client.Do(ctx, cmd)) +} + +// FTConfigGet - Retrieves the value of a RediSearch configuration parameter. +// The 'option' parameter specifies the configuration parameter to retrieve. +// For more information, please refer to the Redis documentation: +// [FT.CONFIG GET]: (https://redis.io/commands/ft.config-get/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L831 +func (c *Compat) FTConfigGet(ctx context.Context, option string) *MapMapStringInterfaceCmd { + cmd := c.client.B().FtConfigGet().Option(option).Build() + return newMapMapStringInterfaceCmd(c.client.Do(ctx, cmd)) +} + +// FTConfigSet - Sets the value of a RediSearch configuration parameter. +// The 'option' parameter specifies the configuration parameter to set, and the 'value' parameter specifies the new value. +// For more information, please refer to the Redis documentation: +// [FT.CONFIG SET]: (https://redis.io/commands/ft.config-set/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L841 +func (c *Compat) FTConfigSet(ctx context.Context, option string, value interface{}) *StatusCmd { + cmd := c.client.B().FtConfigSet().Option(option).Value(str(value)).Build() + return newStatusCmd(c.client.Do(ctx, cmd)) +} + +// FTCreate - Creates a new index with the given options and schema. +// The 'index' parameter specifies the name of the index to create. +// The 'options' parameter specifies various options for the index, such as: +// whether to index hashes or JSONs, prefixes, filters, default language, score, score field, payload field, etc. +// The 'schema' parameter specifies the schema for the index, which includes the field name, field type, etc. +// For more information, please refer to the Redis documentation: +// [FT.CREATE]: (https://redis.io/commands/ft.create/) +// FTCreate aligns with go-redis v9.7.0. +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L854 +func (c *Compat) FTCreate(ctx context.Context, index string, options *FTCreateOptions, schema ...*FieldSchema) *StatusCmd { + _cmd := cmds.Incomplete(c.client.B().FtCreate().Index(index)) + if options != nil { + // [ON HASH | JSON] + if options.OnHash { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).OnHash()) + } + if options.OnJSON { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).OnJson()) + } + // [PREFIX count prefix [prefix ...]] + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).Prefix(int64(len(options.Prefix))).Prefix(argsToSlice(options.Prefix)...)) + // [FILTER {filter}] + if options.Filter != "" { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).Filter(options.Filter)) + } + // [LANGUAGE default_lang] + if options.DefaultLanguage != "" { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).Language(options.DefaultLanguage)) + } + // [LANGUAGE_FIELD lang_attribute] + if options.LanguageField != "" { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).LanguageField(options.LanguageField)) + } + // [SCORE default_score] + if options.Score != 0 { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).Score(options.Score)) + } + // [SCORE_FIELD score_attribute] + if options.ScoreField != "" { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).ScoreField(options.ScoreField)) + } + // [PAYLOAD_FIELD payload_attribute] + if options.PayloadField != "" { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).PayloadField(options.PayloadField)) + } + // [MAXTEXTFIELDS] + // FIXME: in go-reids, FTCreateOptions.MaxTextFields should be bool, not int + if options.MaxTextFields > 0 { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).Maxtextfields()) + } + // [TEMPORARY seconds] + // FIXME: reudis: Temporary should not be float64 + if options.Temporary > 0 { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).Temporary(float64(options.Temporary))) + } + // [NOOFFSETS] + if options.NoOffsets { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).Nooffsets()) + } + // [NOHL] + if options.NoHL { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).Nohl()) + } + // [NOFIELDS] + if options.NoFields { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).Nofields()) + } + // [NOFREQS] + if options.NoFreqs { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).Nofreqs()) + } + // [STOPWORDS count [stopword ...]] + if len(options.StopWords) > 0 { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).Stopwords(int64(len(options.StopWords))).Stopword(argsToSlice(options.StopWords)...)) + } + // [SKIPINITIALSCAN] + if options.SkipInitialScan { + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).Skipinitialscan()) + } + } + _cmd = cmds.Incomplete(cmds.FtCreateIndex(_cmd).Schema()) + // SCHEMA field_name [AS alias] TEXT | TAG | NUMERIC | GEO | VECTOR | GEOSHAPE [ SORTABLE [UNF]] + // [NOINDEX] [ field_name [AS alias] TEXT | TAG | NUMERIC | GEO | VECTOR | GEOSHAPE [ SORTABLE [UNF]] [NOINDEX] ...] + for _, sc := range schema { + if sc.FieldName == "" || sc.FieldType == SearchFieldTypeInvalid { + panic("FT.CREATE: SCHEMA FieldName and FieldType are required") + } + _cmd = cmds.Incomplete(cmds.FtCreateSchema(_cmd).FieldName(sc.FieldName)) + if sc.As != "" { + _cmd = cmds.Incomplete(cmds.FtCreateFieldFieldName(_cmd).As(sc.As)) + } + switch sc.FieldType { + case SearchFieldTypeNumeric: + _cmd = cmds.Incomplete(cmds.FtCreateFieldAs(_cmd).Numeric()) + case SearchFieldTypeTag: + _cmd = cmds.Incomplete(cmds.FtCreateFieldAs(_cmd).Tag()) + case SearchFieldTypeText: + _cmd = cmds.Incomplete(cmds.FtCreateFieldAs(_cmd).Text()) + case SearchFieldTypeGeo: + _cmd = cmds.Incomplete(cmds.FtCreateFieldAs(_cmd).Geo()) + case SearchFieldTypeVector: + // Ref: https://redis.io/docs/latest/develop/interact/search-and-query/advanced-concepts/vectors/#create-a-vector-index + if sc.VectorArgs == nil { + panic("FT.CREATE: SCHEMA VectorArgs cannot be nil") + } + if sc.VectorArgs.FlatOptions != nil && sc.VectorArgs.HNSWOptions != nil { + panic("FT.CREATE: SCHEMA VectorArgs FlatOptions and HNSWOptions are mutually exclusive") + } + var args []any + algorithm := "" + if sc.VectorArgs.FlatOptions != nil { + algorithm = "FLAT" + if sc.VectorArgs.FlatOptions.Type == "" || sc.VectorArgs.FlatOptions.Dim == 0 || sc.VectorArgs.FlatOptions.DistanceMetric == "" { + panic("FT.CREATE: Type, Dim and DistanceMetric are required for VECTOR FLAT") + } + flatArgs := []interface{}{ + "TYPE", sc.VectorArgs.FlatOptions.Type, + "DIM", sc.VectorArgs.FlatOptions.Dim, + "DISTANCE_METRIC", sc.VectorArgs.FlatOptions.DistanceMetric, + } + if sc.VectorArgs.FlatOptions.InitialCapacity > 0 { + flatArgs = append(flatArgs, "INITIAL_CAP", sc.VectorArgs.FlatOptions.InitialCapacity) + } + if sc.VectorArgs.FlatOptions.BlockSize > 0 { + flatArgs = append(flatArgs, "BLOCK_SIZE", sc.VectorArgs.FlatOptions.BlockSize) + } + args = flatArgs + } + if sc.VectorArgs.HNSWOptions != nil { + algorithm = "HNSW" + if sc.VectorArgs.HNSWOptions.Type == "" || sc.VectorArgs.HNSWOptions.Dim == 0 || sc.VectorArgs.HNSWOptions.DistanceMetric == "" { + panic("FT.CREATE: Type, Dim and DistanceMetric are required for VECTOR HNSW") + } + hnswArgs := []interface{}{ + "TYPE", sc.VectorArgs.HNSWOptions.Type, + "DIM", sc.VectorArgs.HNSWOptions.Dim, + "DISTANCE_METRIC", sc.VectorArgs.HNSWOptions.DistanceMetric, + } + if sc.VectorArgs.HNSWOptions.InitialCapacity > 0 { + hnswArgs = append(hnswArgs, "INITIAL_CAP", sc.VectorArgs.HNSWOptions.InitialCapacity) + } + if sc.VectorArgs.HNSWOptions.MaxEdgesPerNode > 0 { + hnswArgs = append(hnswArgs, "M", sc.VectorArgs.HNSWOptions.MaxEdgesPerNode) + } + if sc.VectorArgs.HNSWOptions.MaxAllowedEdgesPerNode > 0 { + hnswArgs = append(hnswArgs, "EF_CONSTRUCTION", sc.VectorArgs.HNSWOptions.MaxAllowedEdgesPerNode) + } + if sc.VectorArgs.HNSWOptions.EFRunTime > 0 { + hnswArgs = append(hnswArgs, "EF_RUNTIME", sc.VectorArgs.HNSWOptions.EFRunTime) + } + if sc.VectorArgs.HNSWOptions.Epsilon > 0 { + hnswArgs = append(hnswArgs, "EPSILON", sc.VectorArgs.HNSWOptions.Epsilon) + } + args = hnswArgs + } + _cmd = cmds.Incomplete(cmds.FtCreateFieldAs(_cmd).Vector(algorithm, int64(len(args)), argsToSlice(args)...)) + + case SearchFieldTypeGeoShape: + if sc.GeoShapeFieldType == "" { + panic("FT.CREATE: GeoShapeFieldType cannot be empty while SCHEMA FieldType is GEOSHAPE") + } + _cmd = cmds.Incomplete(cmds.FtCreateFieldAs(_cmd).Geoshape().FieldName(sc.GeoShapeFieldType)) + default: + panic(fmt.Sprintf("unexpected SearchFieldType: %s", sc.FieldType.String())) + } + if sc.NoStem { + _cmd = cmds.Incomplete(cmds.FtCreateFieldFieldTypeText(_cmd).Nostem()) + } + if sc.Sortable { + _cmd = cmds.Incomplete(cmds.FtCreateFieldFieldTypeText(_cmd).Sortable()) + } + if sc.UNF { + _cmd = cmds.Incomplete(cmds.FtCreateFieldOptionSortableSortable(_cmd).Unf()) + } + if sc.NoIndex { + _cmd = cmds.Incomplete(cmds.FtCreateFieldFieldTypeText(_cmd).Noindex()) + } + // FIXME: redis doc: PHONETIC not in EBNF definition + if sc.PhoneticMatcher != "" { + _cmd = cmds.Incomplete(cmds.FtCreateFieldFieldTypeText(_cmd).Phonetic(sc.PhoneticMatcher)) + } + if sc.Weight > 0 { + _cmd = cmds.Incomplete(cmds.FtCreateFieldFieldTypeText(_cmd).Weight(sc.Weight)) + } + if sc.Separator != "" { + _cmd = cmds.Incomplete(cmds.FtCreateFieldFieldTypeText(_cmd).Separator(sc.Separator)) + } + if sc.CaseSensitive { + _cmd = cmds.Incomplete(cmds.FtCreateFieldFieldTypeText(_cmd).Casesensitive()) + } + if sc.WithSuffixtrie { + _cmd = cmds.Incomplete(cmds.FtCreateFieldFieldTypeText(_cmd).Withsuffixtrie()) + } + if sc.IndexEmpty { + _cmd = cmds.Incomplete(cmds.FtCreateFieldFieldTypeText(_cmd).Indexempty()) + } + if sc.IndexMissing { + _cmd = cmds.Incomplete(cmds.FtCreateFieldFieldTypeText(_cmd).Indexmissing()) + } + } + cmd := cmds.FtCreateFieldFieldTypeText(_cmd).Build() + return newStatusCmd(c.client.Do(ctx, cmd)) +} + +// FTCursorDel - Deletes a cursor from an existing index. +// The 'index' parameter specifies the index from which to delete the cursor, and the 'cursorId' parameter specifies the ID of the cursor to delete. +// For more information, please refer to the Redis documentation: +// [FT.CURSOR DEL]: (https://redis.io/commands/ft.cursor-del/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1032 +func (c *Compat) FTCursorDel(ctx context.Context, index string, cursorId int) *StatusCmd { + cmd := c.client.B().FtCursorDel().Index(index).CursorId(int64(cursorId)).Build() + return newStatusCmd(c.client.Do(ctx, cmd)) +} + +// FTCursorRead - Reads the next results from an existing cursor. +// The 'index' parameter specifies the index from which to read the cursor, the 'cursorId' parameter specifies the ID of the cursor to read, and the 'count' parameter specifies the number of results to read. +// For more information, please refer to the Redis documentation: +// [FT.CURSOR READ]: (https://redis.io/commands/ft.cursor-read/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1042 +func (c *Compat) FTCursorRead(ctx context.Context, index string, cursorId int, count int) *MapStringInterfaceCmd { + cmd := c.client.B().FtCursorRead().Index(index).CursorId(int64(cursorId)).Count(int64(count)).Build() + return newMapStringInterfaceCmd(c.client.Do(ctx, cmd)) +} + +// FTDictAdd - Adds terms to a dictionary. +// The 'dict' parameter specifies the dictionary to which to add the terms, and the 'term' parameter specifies the terms to add. +// For more information, please refer to the Redis documentation: +// [FT.DICTADD]: (https://redis.io/commands/ft.dictadd/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1056 +func (c *Compat) FTDictAdd(ctx context.Context, dict string, term ...interface{}) *IntCmd { + cmd := c.client.B().FtDictadd().Dict(dict).Term(argsToSlice(term)...).Build() + return newIntCmd(c.client.Do(ctx, cmd)) +} + +// FTDictDel - Deletes terms from a dictionary. +// The 'dict' parameter specifies the dictionary from which to delete the terms, and the 'term' parameter specifies the terms to delete. +// For more information, please refer to the Redis documentation: +// [FT.DICTDEL]: (https://redis.io/commands/ft.dictdel/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1068 +func (c *Compat) FTDictDel(ctx context.Context, dict string, term ...interface{}) *IntCmd { + cmd := c.client.B().FtDictdel().Dict(dict).Term(argsToSlice(term)...).Build() + return newIntCmd(c.client.Do(ctx, cmd)) +} + +// FTDictDump - Returns all terms in the specified dictionary. +// The 'dict' parameter specifies the dictionary from which to return the terms. +// For more information, please refer to the Redis documentation: +// [FT.DICTDUMP]: (https://redis.io/commands/ft.dictdump/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1080 +func (c *Compat) FTDictDump(ctx context.Context, dict string) *StringSliceCmd { + cmd := c.client.B().FtDictdump().Dict(dict).Build() + return newStringSliceCmd(c.client.Do(ctx, cmd)) +} + +// FTDropIndex - Deletes an index. +// The 'index' parameter specifies the index to delete. +// For more information, please refer to the Redis documentation: +// [FT.DROPINDEX]: (https://redis.io/commands/ft.dropindex/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1090 +func (c *Compat) FTDropIndex(ctx context.Context, index string) *StatusCmd { + cmd := c.client.B().FtDropindex().Index(index).Build() + return newStatusCmd(c.client.Do(ctx, cmd)) +} + +// FTDropIndexWithArgs - Deletes an index with options. +// The 'index' parameter specifies the index to delete, and the 'options' parameter specifies the DeleteDocs option for docs deletion. +// For more information, please refer to the Redis documentation: +// [FT.DROPINDEX]: (https://redis.io/commands/ft.dropindex/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1101 +func (c *Compat) FTDropIndexWithArgs(ctx context.Context, index string, options *FTDropIndexOptions) *StatusCmd { + _cmd := cmds.Incomplete(c.client.B().FtDropindex().Index(index)) + if options.DeleteDocs { + _cmd = cmds.Incomplete(cmds.FtDropindexIndex(_cmd).Dd()) + } + cmd := cmds.FtDropindexIndex(_cmd).Build() + return newStatusCmd(c.client.Do(ctx, cmd)) +} + +// FTExplain - Returns the execution plan for a complex query. +// The 'index' parameter specifies the index to query, and the 'query' parameter specifies the query string. +// For more information, please refer to the Redis documentation: +// [FT.EXPLAIN]: (https://redis.io/commands/ft.explain/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1117 +func (c *Compat) FTExplain(ctx context.Context, index string, query string) *StringCmd { + cmd := c.client.B().FtExplain().Index(index).Query(query).Build() + return newStringCmd(c.client.Do(ctx, cmd)) +} + +// FTExplainWithArgs - Returns the execution plan for a complex query with options. +// The 'index' parameter specifies the index to query, the 'query' parameter specifies the query string, and the 'options' parameter specifies the Dialect for the query. +// For more information, please refer to the Redis documentation: +// [FT.EXPLAIN]: (https://redis.io/commands/ft.explain/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1127 +func (c *Compat) FTExplainWithArgs(ctx context.Context, index string, query string, options *FTExplainOptions) *StringCmd { + _cmd := cmds.Incomplete(c.client.B().FtExplain().Index(index).Query(query)) + if options != nil { + dialectVersion, err := strconv.ParseInt(options.Dialect, 10, 64) + if err != nil { + panic(fmt.Errorf("failed to parse dialect version: %v", err)) + } + _cmd = cmds.Incomplete(cmds.FtExplainQuery(_cmd).Dialect(dialectVersion)) + } + cmd := cmds.FtExplainQuery(_cmd).Build() + return newStringCmd(c.client.Do(ctx, cmd)) +} + +// FTInfo - Retrieves information about an index. +// The 'index' parameter specifies the index to retrieve information about. +// For more information, please refer to the Redis documentation: +// [FT.INFO]: (https://redis.io/commands/ft.info/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1393 +func (c *Compat) FTInfo(ctx context.Context, index string) *FTInfoCmd { + cmd := c.client.B().FtInfo().Index(index).Build() + return newFTInfoCmd(c.client.Do(ctx, cmd)) +} + +// FTSpellCheck - Checks a query string for spelling errors. +// For more details about spellcheck query please follow: +// https://redis.io/docs/interact/search-and-query/advanced-concepts/spellcheck/ +// For more information, please refer to the Redis documentation: +// [FT.SPELLCHECK]: (https://redis.io/commands/ft.spellcheck/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1404 +func (c *Compat) FTSpellCheck(ctx context.Context, index string, query string) *FTSpellCheckCmd { + cmd := c.client.B().FtSpellcheck().Index(index).Query(query).Build() + return newFTSpellCheckCmd(c.client.Do(ctx, cmd)) +} + +// FTSpellCheckWithArgs - Checks a query string for spelling errors with additional options. +// For more details about spellcheck query please follow: +// https://redis.io/docs/interact/search-and-query/advanced-concepts/spellcheck/ +// For more information, please refer to the Redis documentation: +// [FT.SPELLCHECK]: (https://redis.io/commands/ft.spellcheck/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1416 +func (c *Compat) FTSpellCheckWithArgs(ctx context.Context, index string, query string, options *FTSpellCheckOptions) *FTSpellCheckCmd { + _cmd := cmds.Incomplete(c.client.B().FtSpellcheck().Index(index).Query(query)) + if options != nil { + if options.Distance > 0 { + _cmd = cmds.Incomplete(cmds.FtSpellcheckQuery(_cmd).Distance(int64(options.Distance))) + } + if options.Terms != nil { + if options.Terms.Inclusion != "INCLUDE" && options.Terms.Inclusion != "EXCLUDE" { + panic("Inclusion should be either INCLUDE or EXCLUDE") + } + if options.Terms.Inclusion == "INCLUDE" { + _cmd = cmds.Incomplete(cmds.FtSpellcheckQuery(_cmd).TermsInclude().Dictionary(options.Terms.Dictionary).Terms(argsToSlice(options.Terms.Terms)...)) + } else { + _cmd = cmds.Incomplete(cmds.FtSpellcheckQuery(_cmd).TermsExclude().Dictionary(options.Terms.Dictionary).Terms(argsToSlice(options.Terms.Terms)...)) + } + } + if options.Dialect > 0 { + _cmd = cmds.Incomplete(cmds.FtSpellcheckQuery(_cmd).Dialect(int64(options.Dialect))) + } + } + cmd := cmds.FtSpellcheckQuery(_cmd).Build() + return newFTSpellCheckCmd(c.client.Do(ctx, cmd)) +} + +// FTSearch - Executes a search query on an index. +// The 'index' parameter specifies the index to search, and the 'query' parameter specifies the search query. +// For more information, please refer to the Redis documentation: +// [FT.SEARCH]: (https://redis.io/commands/ft.search/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1679 +func (c *Compat) FTSearch(ctx context.Context, index string, query string) *FTSearchCmd { + cmd := c.client.B().FtSearch().Index(index).Query(query).Build() + return newFTSearchCmd(c.client.Do(ctx, cmd), nil) +} + +// FTSearchWithArgs - Executes a search query on an index with additional options. +// The 'index' parameter specifies the index to search, the 'query' parameter specifies the search query, +// and the 'options' parameter specifies additional options for the search. +// For more information, please refer to the Redis documentation: +// [FT.SEARCH]: (https://redis.io/commands/ft.search/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1802 +func (c *Compat) FTSearchWithArgs(ctx context.Context, index string, query string, options *FTSearchOptions) *FTSearchCmd { + _cmd := cmds.Incomplete(c.client.B().FtSearch().Index(index).Query(query)) + if options != nil { + // [NOCONTENT] + if options.NoContent { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Nocontent()) + } + // [VERBATIM] + if options.Verbatim { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Verbatim()) + } + // [NOSTOPWORDS] + if options.NoStopWords { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Nostopwords()) + } + // [WITHSCORES] + if options.WithScores { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Withscores()) + } + // [WITHPAYLOADS] + if options.WithPayloads { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Withpayloads()) + } + // [WITHSORTKEYS] + if options.WithSortKeys { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Withsortkeys()) + } + // [FILTER numeric_field min max [ FILTER numeric_field min max ...]] + for _, filter := range options.Filters { + min, err := strconv.ParseFloat(str(filter.Min), 64) + if err != nil { + panic(fmt.Sprintf("failed to parse min %v to float64", filter.Min)) + } + max, err := strconv.ParseFloat(str(filter.Max), 64) + if err != nil { + panic(fmt.Sprintf("failed to parse max %v to float64", filter.Max)) + } + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Filter(str(filter.FieldName)).Min(min).Max(max)) + } + // [GEOFILTER geo_field lon lat radius m | km | mi | ft [ GEOFILTER geo_field lon lat radius m | km | mi | ft ...]] + for _, filter := range options.GeoFilter { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Geofilter(filter.FieldName).Lon(filter.Longitude).Lat(filter.Latitude).Radius(filter.Radius)) + switch filter.Unit { + case "m": + _cmd = cmds.Incomplete(cmds.FtSearchGeoFilterRadius(_cmd).M()) + case "km": + _cmd = cmds.Incomplete(cmds.FtSearchGeoFilterRadius(_cmd).Km()) + case "mi": + _cmd = cmds.Incomplete(cmds.FtSearchGeoFilterRadius(_cmd).Mi()) + case "ft": + _cmd = cmds.Incomplete(cmds.FtSearchGeoFilterRadius(_cmd).Ft()) + default: + panic(fmt.Sprintf("invalid unit, want m | km | mi | ft, got %v", filter.Unit)) + } + } + // [INKEYS count key [key ...]] + if len(options.InKeys) > 0 { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Inkeys(str(len(options.InKeys))).Key(argsToSlice(options.InKeys)...)) + } + // [ INFIELDS count field [field ...]] + if len(options.InFields) > 0 { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Infields(str(len(options.InFields))).Field(argsToSlice(options.InFields)...)) + } + // [RETURN count identifier [AS property] [ identifier [AS property] ...]] + if len(options.Return) > 0 { + var numOfArgs int64 = 0 + for _, re := range options.Return { + numOfArgs++ + if re.As != "" { + numOfArgs += 2 + } + } + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Return(str(numOfArgs))) + for _, re := range options.Return { + _cmd = cmds.Incomplete(cmds.FtSearchReturnReturn(_cmd).Identifier(re.FieldName)) + if re.As != "" { + _cmd = cmds.Incomplete(cmds.FtSearchReturnIdentifiersIdentifier(_cmd).As(re.As)) + } + } + } + // FIXME: go-redis doesn't implement SUMMARIZE option + // [SUMMARIZE [ FIELDS count field [field ...]] [FRAGS num] [LEN fragsize] [SEPARATOR separator]] + // [SLOP slop] + if options.Slop > 0 { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Slop(int64(options.Slop))) + } + // [TIMEOUT timeout] + if options.Timeout > 0 { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Timeout(int64(options.Timeout))) + } + // [INORDER] + if options.InOrder { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Inorder()) + } + // [LANGUAGE language] + if options.Language != "" { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Language(options.Language)) + } + // [EXPANDER expander] + if options.Expander != "" { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Expander(options.Expander)) + } + // [SCORER scorer] + if options.Scorer != "" { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Scorer(options.Scorer)) + } + // [EXPLAINSCORE] + if options.ExplainScore { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Explainscore()) + } + // [PAYLOAD payload] + if options.Payload != "" { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Payload(options.Payload)) + } + // [SORTBY sortby [ ASC | DESC] [WITHCOUNT]] + if options.SortBy != nil { + if len(options.SortBy) != 1 { + panic(fmt.Sprintf("options.SortBy can only have 1 element, got %v", len(options.SortBy))) + } + sortBy := options.SortBy[0] + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Sortby(sortBy.FieldName)) + if sortBy.Asc == sortBy.Desc && sortBy.Asc { + panic("options.SortBy[0] should specify either ASC or DESC") + } + if sortBy.Asc { + _cmd = cmds.Incomplete(cmds.FtSearchSortbySortby(_cmd).Asc()) + } else { + _cmd = cmds.Incomplete(cmds.FtSearchSortbySortby(_cmd).Desc()) + } + if options.SortByWithCount { + _cmd = cmds.Incomplete(cmds.FtSearchSortbySortby(_cmd).Withcount()) + } + } + // [LIMIT offset num] + if options.LimitOffset >= 0 && options.Limit > 0 { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Limit().OffsetNum(int64(options.Limit), int64(options.LimitOffset))) + } + // [PARAMS nargs name value [ name value ...]] + if options.Params != nil { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Params().Nargs(int64(len(options.Params) * 2))) + for name, val := range options.Params { + _cmd = cmds.Incomplete(cmds.FtSearchParamsNargs(_cmd).NameValue().NameValue(name, str(val))) + } + } + // [DIALECT dialect] + if options.DialectVersion > 0 { + _cmd = cmds.Incomplete(cmds.FtSearchQuery(_cmd).Dialect(int64(options.DialectVersion))) + } + } + cmd := cmds.FtSearchQuery(_cmd).Build() + return newFTSearchCmd(c.client.Do(ctx, cmd), options) +} + +// FTSynDump - Dumps the contents of a synonym group. +// The 'index' parameter specifies the index to dump. +// For more information, please refer to the Redis documentation: +// [FT.SYNDUMP]: (https://redis.io/commands/ft.syndump/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1987 +func (c *Compat) FTSynDump(ctx context.Context, index string) *FTSynDumpCmd { + cmd := c.client.B().FtSyndump().Index(index).Build() + return newFTSynDumpCmd(c.client.Do(ctx, cmd)) +} + +// FTSynUpdate - Creates or updates a synonym group with additional terms. +// The 'index' parameter specifies the index to update, the 'synGroupId' parameter specifies the synonym group id, and the 'terms' parameter specifies the additional terms. +// For more information, please refer to the Redis documentation: +// [FT.SYNUPDATE]: (https://redis.io/commands/ft.synupdate/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1997 +func (c *Compat) FTSynUpdate(ctx context.Context, index string, synGroupId interface{}, terms []interface{}) *StatusCmd { + cmd := c.client.B().FtSynupdate().Index(index).SynonymGroupId(str(synGroupId)).Term(argToSlice(terms)...).Build() + return newStatusCmd(c.client.Do(ctx, cmd)) +} + +// FTSynUpdateWithArgs - Creates or updates a synonym group with additional terms and options. +// The 'index' parameter specifies the index to update, the 'synGroupId' parameter specifies the synonym group id, the 'options' parameter specifies additional options for the update, and the 'terms' parameter specifies the additional terms. +// For more information, please refer to the Redis documentation: +// [FT.SYNUPDATE]: (https://redis.io/commands/ft.synupdate/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L2009 +func (c *Compat) FTSynUpdateWithArgs(ctx context.Context, index string, synGroupId interface{}, options *FTSynUpdateOptions, terms []interface{}) *StatusCmd { + _cmd := cmds.Incomplete(c.client.B().FtSynupdate().Index(index).SynonymGroupId(str(synGroupId))) + if options != nil { + if options.SkipInitialScan { + _cmd = cmds.Incomplete(cmds.FtSynupdateSynonymGroupId(_cmd).Skipinitialscan()) + } + } + cmd := cmds.FtSynupdateSynonymGroupId(_cmd).Term(argsToSlice(terms)...).Build() + return newStatusCmd(c.client.Do(ctx, cmd)) +} + +// FTTagVals - Returns all distinct values indexed in a tag field. +// The 'index' parameter specifies the index to check, and the 'field' parameter specifies the tag field to retrieve values from. +// For more information, please refer to the Redis documentation: +// [FT.TAGVALS]: (https://redis.io/commands/ft.tagvals/) +// see go-redis v9.7.0 https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L2024 +func (c *Compat) FTTagVals(ctx context.Context, index string, field string) *StringSliceCmd { + cmd := c.client.B().FtTagvals().Index(index).FieldName(field).Build() + return newStringSliceCmd(c.client.Do(ctx, cmd)) +} + func (c CacheCompat) BitCount(ctx context.Context, key string, bitCount *BitCount) *IntCmd { var resp rueidis.RedisResult if bitCount == nil { diff --git a/rueidiscompat/adapter_test.go b/rueidiscompat/adapter_test.go index ea0f1ac2..068c3373 100644 --- a/rueidiscompat/adapter_test.go +++ b/rueidiscompat/adapter_test.go @@ -57,16 +57,18 @@ func TestAdapter(t *testing.T) { } var ( - err error - ctx context.Context - clientresp2 rueidis.Client - clusterresp2 rueidis.Client - clientresp3 rueidis.Client - clusterresp3 rueidis.Client - adapterresp2 Cmdable - adaptercluster2 Cmdable - adapterresp3 Cmdable - adaptercluster3 Cmdable + err error + ctx context.Context + clientresp2 rueidis.Client + clientsearchresp2 rueidis.Client + clusterresp2 rueidis.Client + clientresp3 rueidis.Client + clusterresp3 rueidis.Client + adapterresp2 Cmdable + adaptersearchresp2 Cmdable + adaptercluster2 Cmdable + adapterresp3 Cmdable + adaptercluster3 Cmdable ) var _ = BeforeSuite(func() { @@ -89,6 +91,13 @@ var _ = BeforeSuite(func() { DisableCache: true, }) Expect(err).NotTo(HaveOccurred()) + clientsearchresp2, err = rueidis.NewClient(rueidis.ClientOption{ + InitAddress: []string{"127.0.0.1:6381"}, + ClientName: "rueidis", + DisableCache: true, + AlwaysRESP2: true, + }) + Expect(err).NotTo(HaveOccurred()) clusterresp2, err = rueidis.NewClient(rueidis.ClientOption{ InitAddress: []string{"127.0.0.1:7007"}, ClientName: "rueidis", @@ -96,6 +105,7 @@ var _ = BeforeSuite(func() { }) Expect(err).NotTo(HaveOccurred()) adapterresp2 = NewAdapter(clientresp2) + adaptersearchresp2 = NewAdapter(clientsearchresp2) adaptercluster2 = NewAdapter(clusterresp2) }) @@ -112,11 +122,13 @@ var _ = Describe("RESP3 Commands", func() { testAdapter(true) testAdapterCache(true) testCluster(true) + testAdapterSearchRESP3() }) var _ = Describe("RESP2 Commands", func() { testAdapter(false) testCluster(false) + testAdapterSearchRESP2() }) func testCluster(resp3 bool) { @@ -11547,38 +11559,1571 @@ func testAdapterCache(resp3 bool) { }) } -func libCode(libName string) string { - return fmt.Sprintf("#!js api_version=1.0 name=%s\n redis.registerFunction('foo', ()=>{{return 'bar'}})", libName) -} +func testAdapterSearchRESP3() { + var adapter Cmdable + var client rueidis.Client -func libCodeWithConfig(libName string) string { - lib := `#!js api_version=1.0 name=%s + BeforeEach(func() { + adapter = adapterresp3 + client = clientresp3 + Expect(adapter.FlushDB(ctx).Err()).NotTo(HaveOccurred()) + Expect(adapter.FlushAll(ctx).Err()).NotTo(HaveOccurred()) + }) - var last_update_field_name = "__last_update__" - - if (redis.config.last_update_field_name !== undefined) { - if (typeof redis.config.last_update_field_name != 'string') { - throw "last_update_field_name must be a string"; - } - last_update_field_name = redis.config.last_update_field_name - } - - redis.registerFunction("hset", function(client, key, field, val){ - // get the current time in ms - var curr_time = client.call("time")[0]; - return client.call('hset', key, field, val, last_update_field_name, curr_time); - });` - return fmt.Sprintf(lib, libName) -} + Describe("RediSearch commands Resp 3", Label("search"), func() { + ctx := context.TODO() -type numberStruct struct { - Number int -} + It("should handle FTAggregate with Unstable RESP3 Search Module and without stability", Label("search", "ftcreate", "ftaggregate"), func() { + text1 := &FieldSchema{FieldName: "PrimaryKey", FieldType: SearchFieldTypeText, Sortable: true} + num1 := &FieldSchema{FieldName: "CreatedDateTimeUTC", FieldType: SearchFieldTypeNumeric, Sortable: true} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, text1, num1).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 3) + + adapter.HSet(ctx, "doc1", "PrimaryKey", "9::362330", "CreatedDateTimeUTC", "637387878524969984") + adapter.HSet(ctx, "doc2", "PrimaryKey", "9::362329", "CreatedDateTimeUTC", "637387875859270016") + + options := &FTAggregateOptions{Apply: []FTAggregateApply{{Field: "@CreatedDateTimeUTC * 10", As: "CreatedDateTimeUTC"}}} + res, err := adapter.FTAggregateWithArgs(ctx, "idx1", "*", options).RawResult() + // results := res.(map[interface{}]interface{})["results"].([]interface{}) + results := res.(map[string]interface{})["results"].([]interface{}) + // Expect(results[0].(map[interface{}]interface{})["extra_attributes"].(map[interface{}]interface{})["CreatedDateTimeUTC"]). + Expect(results[0].(map[string]interface{})["extra_attributes"].(map[string]interface{})["CreatedDateTimeUTC"]). + To(Or(BeEquivalentTo("6373878785249699840"), BeEquivalentTo("6373878758592700416"))) + // Expect(results[1].(map[interface{}]interface{})["extra_attributes"].(map[interface{}]interface{})["CreatedDateTimeUTC"]). + Expect(results[1].(map[string]interface{})["extra_attributes"].(map[string]interface{})["CreatedDateTimeUTC"]). + To(Or(BeEquivalentTo("6373878785249699840"), BeEquivalentTo("6373878758592700416"))) + + rawVal := adapter.FTAggregateWithArgs(ctx, "idx1", "*", options).RawVal() + // rawValResults := rawVal.(map[interface{}]interface{})["results"].([]interface{}) + rawValResults := rawVal.(map[string]interface{})["results"].([]interface{}) + Expect(err).NotTo(HaveOccurred()) + Expect(rawValResults[0]).To(Or(BeEquivalentTo(results[0]), BeEquivalentTo(results[1]))) + Expect(rawValResults[1]).To(Or(BeEquivalentTo(results[0]), BeEquivalentTo(results[1]))) + + // NOTE: rueidis can't support this behavior because we cannot know whether UnstableResp3 is enabled or not + // Test with UnstableResp3 false + // Expect(func() { + // options = &FTAggregateOptions{Apply: []FTAggregateApply{{Field: "@CreatedDateTimeUTC * 10", As: "CreatedDateTimeUTC"}}} + // rawRes, _ := adapter2resp3.FTAggregateWithArgs(ctx, "idx1", "*", options).RawResult() + // rawVal = adapter2resp3.FTAggregateWithArgs(ctx, "idx1", "*", options).RawVal() + // Expect(rawRes).To(BeNil()) + // Expect(rawVal).To(BeNil()) + // }).Should(Panic()) + }) + + It("should handle FTInfo with Unstable RESP3 Search Module and without stability", Label("search", "ftcreate", "ftinfo"), func() { + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, &FieldSchema{FieldName: "txt", FieldType: SearchFieldTypeText, Sortable: true, NoStem: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 3) + + resInfo, err := adapter.FTInfo(ctx, "idx1").RawResult() + Expect(err).NotTo(HaveOccurred()) + // attributes := resInfo.(map[interface{}]interface{})["attributes"].([]interface{}) + attributes := resInfo.(map[string]interface{})["attributes"].([]interface{}) + // flags := attributes[0].(map[interface{}]interface{})["flags"].([]interface{}) + flags := attributes[0].(map[string]interface{})["flags"].([]interface{}) + Expect(flags).To(ConsistOf("SORTABLE", "NOSTEM")) -func (s *numberStruct) MarshalBinary() ([]byte, error) { - return json.Marshal(s) + valInfo, err := adapter.FTInfo(ctx, "idx1").RawResult() + Expect(err).NotTo(HaveOccurred()) + // attributes = valInfo.(map[interface{}]interface{})["attributes"].([]interface{}) + attributes = valInfo.(map[string]interface{})["attributes"].([]interface{}) + // flags = attributes[0].(map[interface{}]interface{})["flags"].([]interface{}) + flags = attributes[0].(map[string]interface{})["flags"].([]interface{}) + Expect(flags).To(ConsistOf("SORTABLE", "NOSTEM")) + + // NOTE: rueidis can't support this behavior because we cannot know whether UnstableResp3 is enabled or not + // Test with UnstableResp3 false + // Expect(func() { + // rawResInfo, _ := adapter2resp3.FTInfo(ctx, "idx1").RawResult() + // rawValInfo := adapter2resp3.FTInfo(ctx, "idx1").RawVal() + // Expect(rawResInfo).To(BeNil()) + // Expect(rawValInfo).To(BeNil()) + // }).Should(Panic()) + }) + + It("should handle FTSpellCheck with Unstable RESP3 Search Module and without stability", Label("search", "ftcreate", "ftspellcheck"), func() { + text1 := &FieldSchema{FieldName: "f1", FieldType: SearchFieldTypeText} + text2 := &FieldSchema{FieldName: "f2", FieldType: SearchFieldTypeText} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, text1, text2).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 3) + + adapter.HSet(ctx, "doc1", "f1", "some valid content", "f2", "this is sample text") + adapter.HSet(ctx, "doc2", "f1", "very important", "f2", "lorem ipsum") + + resSpellCheck, err := adapter.FTSpellCheck(ctx, "idx1", "impornant").RawResult() + valSpellCheck := adapter.FTSpellCheck(ctx, "idx1", "impornant").RawVal() + Expect(err).NotTo(HaveOccurred()) + Expect(valSpellCheck).To(BeEquivalentTo(resSpellCheck)) + // results := resSpellCheck.(map[interface{}]interface{})["results"].(map[interface{}]interface{}) + results := resSpellCheck.(map[string]interface{})["results"].(map[string]interface{}) + // Expect(results["impornant"].([]interface{})[0].(map[interface{}]interface{})["important"]).To(BeEquivalentTo(0.5)) + Expect(results["impornant"].([]interface{})[0].(map[string]interface{})["important"]).To(BeEquivalentTo(0.5)) + + // NOTE: rueidis can't support this behavior because we cannot know whether UnstableResp3 is enabled or not + // Test with UnstableResp3 false + // Expect(func() { + // rawResSpellCheck, _ := adapter2resp3.FTSpellCheck(ctx, "idx1", "impornant").RawResult() + // rawValSpellCheck := adapter2resp3.FTSpellCheck(ctx, "idx1", "impornant").RawVal() + // Expect(rawResSpellCheck).To(BeNil()) + // Expect(rawValSpellCheck).To(BeNil()) + // }).Should(Panic()) + }) + + It("should handle FTSearch with Unstable RESP3 Search Module and without stability", Label("search", "ftcreate", "ftsearch"), func() { + val, err := adapter.FTCreate(ctx, "txt", &FTCreateOptions{StopWords: []interface{}{"foo", "bar", "baz"}}, &FieldSchema{FieldName: "txt", FieldType: SearchFieldTypeText}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "txt", 3) + adapter.HSet(ctx, "doc1", "txt", "foo baz") + adapter.HSet(ctx, "doc2", "txt", "hello world") + res1, err := adapter.FTSearchWithArgs(ctx, "txt", "foo bar", &FTSearchOptions{NoContent: true}).RawResult() + val1 := adapter.FTSearchWithArgs(ctx, "txt", "foo bar", &FTSearchOptions{NoContent: true}).RawVal() + Expect(err).NotTo(HaveOccurred()) + Expect(val1).To(BeEquivalentTo(res1)) + totalResults := res1.(map[string]interface{})["total_results"] + // totalResults := res1.(map[interface{}]interface{})["total_results"] + Expect(totalResults).To(BeEquivalentTo(int64(0))) + res2, err := adapter.FTSearchWithArgs(ctx, "txt", "foo bar hello world", &FTSearchOptions{NoContent: true}).RawResult() + Expect(err).NotTo(HaveOccurred()) + totalResults2 := res2.(map[string]interface{})["total_results"] + // totalResults2 := res2.(map[interface{}]interface{})["total_results"] + Expect(totalResults2).To(BeEquivalentTo(int64(1))) + + // NOTE: rueidis can't support this behavior because we cannot know whether UnstableResp3 is enabled or not + // Test with UnstableResp3 false + // Expect(func() { + // rawRes2, _ := adapter2resp3.FTSearchWithArgs(ctx, "txt", "foo bar hello world", &FTSearchOptions{NoContent: true}).RawResult() + // rawVal2 := adapter2resp3.FTSearchWithArgs(ctx, "txt", "foo bar hello world", &FTSearchOptions{NoContent: true}).RawVal() + // Expect(rawRes2).To(BeNil()) + // Expect(rawVal2).To(BeNil()) + // }).Should(Panic()) + }) + It("should handle FTSynDump with Unstable RESP3 Search Module and without stability", Label("search", "ftsyndump"), func() { + text1 := &FieldSchema{FieldName: "title", FieldType: SearchFieldTypeText} + text2 := &FieldSchema{FieldName: "body", FieldType: SearchFieldTypeText} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{OnHash: true}, text1, text2).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 3) + + resSynUpdate, err := adapter.FTSynUpdate(ctx, "idx1", "id1", []interface{}{"boy", "child", "offspring"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resSynUpdate).To(BeEquivalentTo("OK")) + + resSynUpdate, err = adapter.FTSynUpdate(ctx, "idx1", "id1", []interface{}{"baby", "child"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resSynUpdate).To(BeEquivalentTo("OK")) + + resSynUpdate, err = adapter.FTSynUpdate(ctx, "idx1", "id1", []interface{}{"tree", "wood"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resSynUpdate).To(BeEquivalentTo("OK")) + + resSynDump, err := adapter.FTSynDump(ctx, "idx1").RawResult() + valSynDump := adapter.FTSynDump(ctx, "idx1").RawVal() + Expect(err).NotTo(HaveOccurred()) + Expect(valSynDump).To(BeEquivalentTo(resSynDump)) + // Expect(resSynDump.(map[interface{}]interface{})["baby"]).To(BeEquivalentTo([]interface{}{"id1"})) + Expect(resSynDump.(map[string]interface{})["baby"]).To(BeEquivalentTo([]interface{}{"id1"})) + + // NOTE: rueidis can't support this behavior because we cannot know whether UnstableResp3 is enabled or not + // Test with UnstableResp3 false + // Expect(func() { + // rawResSynDump, _ := adapter2resp3.FTSynDump(ctx, "idx1").RawResult() + // rawValSynDump := adapter2resp3.FTSynDump(ctx, "idx1").RawVal() + // Expect(rawResSynDump).To(BeNil()) + // Expect(rawValSynDump).To(BeNil()) + // }).Should(Panic()) + }) + + It("should test not affected Resp 3 Search method - FTExplain", Label("search", "ftexplain"), func() { + text1 := &FieldSchema{FieldName: "f1", FieldType: SearchFieldTypeText} + text2 := &FieldSchema{FieldName: "f2", FieldType: SearchFieldTypeText} + text3 := &FieldSchema{FieldName: "f3", FieldType: SearchFieldTypeText} + val, err := adapter.FTCreate(ctx, "txt", &FTCreateOptions{}, text1, text2, text3).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "txt", 3) + res1, err := adapter.FTExplain(ctx, "txt", "@f3:f3_val @f2:f2_val @f1:f1_val").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1).ToNot(BeEmpty()) + + // NOTE: rueidis can't support this behavior because we cannot know whether UnstableResp3 is enabled or not + // Test with UnstableResp3 false + // Expect(func() { + // res2, err := adapter2resp3.FTExplain(ctx, "txt", "@f3:f3_val @f2:f2_val @f1:f1_val").Result() + // Expect(err).NotTo(HaveOccurred()) + // Expect(res2).ToNot(BeEmpty()) + // }).ShouldNot(Panic()) + }) + }) } -func (s *numberStruct) UnmarshalBinary(b []byte) error { - return json.Unmarshal(b, s) +func testAdapterSearchRESP2() { + var adapter Cmdable + var client rueidis.Client + + BeforeEach(func() { + adapter = adaptersearchresp2 + client = clientsearchresp2 + + Expect(adapter.FlushDB(ctx).Err()).NotTo(HaveOccurred()) + Expect(adapter.FlushAll(ctx).Err()).NotTo(HaveOccurred()) + }) + + Describe("RediSearch commands Resp 2", Label("search"), func() { + ctx := context.TODO() + + BeforeEach(func() { + Expect(adapter.FlushDB(ctx).Err()).NotTo(HaveOccurred()) + }) + + It("should FTCreate and FTSearch WithScores", Label("search", "ftcreate", "ftsearch"), func() { + // FIXME: FieldType + val, err := adapter.FTCreate(ctx, "txt", &FTCreateOptions{}, &FieldSchema{FieldName: "txt", FieldType: SearchFieldTypeText}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "txt", 2) + adapter.HSet(ctx, "doc1", "txt", "foo baz") + adapter.HSet(ctx, "doc2", "txt", "foo bar") + res, err := adapter.FTSearchWithArgs(ctx, "txt", "foo ~bar", &FTSearchOptions{WithScores: true}).Result() + + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(int64(2))) + for _, doc := range res.Docs { + Expect(*doc.Score).To(BeNumerically(">", 0)) + Expect(doc.ID).To(Or(Equal("doc1"), Equal("doc2"))) + } + }) + + It("should FTCreate and FTSearch stopwords", Label("search", "ftcreate", "ftsearch"), func() { + val, err := adapter.FTCreate(ctx, "txt", &FTCreateOptions{StopWords: []interface{}{"foo", "bar", "baz"}}, &FieldSchema{FieldName: "txt", FieldType: SearchFieldTypeText}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "txt", 2) + adapter.HSet(ctx, "doc1", "txt", "foo baz") + adapter.HSet(ctx, "doc2", "txt", "hello world") + res1, err := adapter.FTSearchWithArgs(ctx, "txt", "foo bar", &FTSearchOptions{NoContent: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1.Total).To(BeEquivalentTo(int64(0))) + res2, err := adapter.FTSearchWithArgs(ctx, "txt", "foo bar hello world", &FTSearchOptions{NoContent: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res2.Total).To(BeEquivalentTo(int64(1))) + }) + + It("should FTCreate and FTSearch filters", Label("search", "ftcreate", "ftsearch"), func() { + val, err := adapter.FTCreate(ctx, "txt", &FTCreateOptions{}, &FieldSchema{FieldName: "txt", FieldType: SearchFieldTypeText}, &FieldSchema{FieldName: "num", FieldType: SearchFieldTypeNumeric}, &FieldSchema{FieldName: "loc", FieldType: SearchFieldTypeGeo}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "txt", 2) + adapter.HSet(ctx, "doc1", "txt", "foo bar", "num", 3.141, "loc", "-0.441,51.458") + adapter.HSet(ctx, "doc2", "txt", "foo baz", "num", 2, "loc", "-0.1,51.2") + res1, err := adapter.FTSearchWithArgs(ctx, "txt", "foo", &FTSearchOptions{Filters: []FTSearchFilter{{FieldName: "num", Min: 0, Max: 2}}, NoContent: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1.Total).To(BeEquivalentTo(int64(1))) + Expect(res1.Docs[0].ID).To(BeEquivalentTo("doc2")) + res2, err := adapter.FTSearchWithArgs(ctx, "txt", "foo", &FTSearchOptions{Filters: []FTSearchFilter{{FieldName: "num", Min: 0, Max: "+inf"}}, NoContent: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res2.Total).To(BeEquivalentTo(int64(2))) + Expect(res2.Docs[0].ID).To(BeEquivalentTo("doc1")) + // Test Geo filter + geoFilter1 := FTSearchGeoFilter{FieldName: "loc", Longitude: -0.44, Latitude: 51.45, Radius: 10, Unit: "km"} + geoFilter2 := FTSearchGeoFilter{FieldName: "loc", Longitude: -0.44, Latitude: 51.45, Radius: 100, Unit: "km"} + res3, err := adapter.FTSearchWithArgs(ctx, "txt", "foo", &FTSearchOptions{GeoFilter: []FTSearchGeoFilter{geoFilter1}, NoContent: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res3.Total).To(BeEquivalentTo(int64(1))) + Expect(res3.Docs[0].ID).To(BeEquivalentTo("doc1")) + res4, err := adapter.FTSearchWithArgs(ctx, "txt", "foo", &FTSearchOptions{GeoFilter: []FTSearchGeoFilter{geoFilter2}, NoContent: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res4.Total).To(BeEquivalentTo(int64(2))) + docs := []interface{}{res4.Docs[0].ID, res4.Docs[1].ID} + Expect(docs).To(ContainElement("doc1")) + Expect(docs).To(ContainElement("doc2")) + + }) + + It("should FTCreate and FTSearch sortby", Label("search", "ftcreate", "ftsearch"), func() { + val, err := adapter.FTCreate(ctx, "num", &FTCreateOptions{}, &FieldSchema{FieldName: "txt", FieldType: SearchFieldTypeText}, &FieldSchema{FieldName: "num", FieldType: SearchFieldTypeNumeric, Sortable: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "num", 2) + adapter.HSet(ctx, "doc1", "txt", "foo bar", "num", 1) + adapter.HSet(ctx, "doc2", "txt", "foo baz", "num", 2) + adapter.HSet(ctx, "doc3", "txt", "foo qux", "num", 3) + + sortBy1 := FTSearchSortBy{FieldName: "num", Asc: true} + sortBy2 := FTSearchSortBy{FieldName: "num", Desc: true} + res1, err := adapter.FTSearchWithArgs(ctx, "num", "foo", &FTSearchOptions{NoContent: true, SortBy: []FTSearchSortBy{sortBy1}}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1.Total).To(BeEquivalentTo(int64(3))) + Expect(res1.Docs[0].ID).To(BeEquivalentTo("doc1")) + Expect(res1.Docs[1].ID).To(BeEquivalentTo("doc2")) + Expect(res1.Docs[2].ID).To(BeEquivalentTo("doc3")) + + res2, err := adapter.FTSearchWithArgs(ctx, "num", "foo", &FTSearchOptions{NoContent: true, SortBy: []FTSearchSortBy{sortBy2}}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res2.Total).To(BeEquivalentTo(int64(3))) + Expect(res2.Docs[2].ID).To(BeEquivalentTo("doc1")) + Expect(res2.Docs[1].ID).To(BeEquivalentTo("doc2")) + Expect(res2.Docs[0].ID).To(BeEquivalentTo("doc3")) + + }) + + It("should FTCreate and FTSearch example", Label("search", "ftcreate", "ftsearch"), func() { + val, err := adapter.FTCreate(ctx, "txt", &FTCreateOptions{}, &FieldSchema{FieldName: "title", FieldType: SearchFieldTypeText, Weight: 5}, &FieldSchema{FieldName: "body", FieldType: SearchFieldTypeText}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "txt", 2) + adapter.HSet(ctx, "doc1", "title", "RediSearch", "body", "Redisearch impements a search engine on top of redis") + res1, err := adapter.FTSearchWithArgs(ctx, "txt", "search engine", &FTSearchOptions{NoContent: true, Verbatim: true, LimitOffset: 0, Limit: 5}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1.Total).To(BeEquivalentTo(int64(1))) + + }) + + It("should FTCreate NoIndex", Label("search", "ftcreate", "ftsearch"), func() { + text1 := &FieldSchema{FieldName: "field", FieldType: SearchFieldTypeText} + text2 := &FieldSchema{FieldName: "text", FieldType: SearchFieldTypeText, NoIndex: true, Sortable: true} + num := &FieldSchema{FieldName: "numeric", FieldType: SearchFieldTypeNumeric, NoIndex: true, Sortable: true} + geo := &FieldSchema{FieldName: "geo", FieldType: SearchFieldTypeGeo, NoIndex: true, Sortable: true} + tag := &FieldSchema{FieldName: "tag", FieldType: SearchFieldTypeTag, NoIndex: true, Sortable: true} + val, err := adapter.FTCreate(ctx, "idx", &FTCreateOptions{}, text1, text2, num, geo, tag).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx", 2) + adapter.HSet(ctx, "doc1", "field", "aaa", "text", "1", "numeric", 1, "geo", "1,1", "tag", "1") + adapter.HSet(ctx, "doc2", "field", "aab", "text", "2", "numeric", 2, "geo", "2,2", "tag", "2") + res1, err := adapter.FTSearch(ctx, "idx", "@text:aa*").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1.Total).To(BeEquivalentTo(int64(0))) + res2, err := adapter.FTSearch(ctx, "idx", "@field:aa*").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res2.Total).To(BeEquivalentTo(int64(2))) + res3, err := adapter.FTSearchWithArgs(ctx, "idx", "*", &FTSearchOptions{SortBy: []FTSearchSortBy{{FieldName: "text", Desc: true}}}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res3.Total).To(BeEquivalentTo(int64(2))) + Expect(res3.Docs[0].ID).To(BeEquivalentTo("doc2")) + res4, err := adapter.FTSearchWithArgs(ctx, "idx", "*", &FTSearchOptions{SortBy: []FTSearchSortBy{{FieldName: "text", Asc: true}}}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res4.Total).To(BeEquivalentTo(int64(2))) + Expect(res4.Docs[0].ID).To(BeEquivalentTo("doc1")) + res5, err := adapter.FTSearchWithArgs(ctx, "idx", "*", &FTSearchOptions{SortBy: []FTSearchSortBy{{FieldName: "numeric", Asc: true}}}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res5.Docs[0].ID).To(BeEquivalentTo("doc1")) + res6, err := adapter.FTSearchWithArgs(ctx, "idx", "*", &FTSearchOptions{SortBy: []FTSearchSortBy{{FieldName: "geo", Asc: true}}}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res6.Docs[0].ID).To(BeEquivalentTo("doc1")) + res7, err := adapter.FTSearchWithArgs(ctx, "idx", "*", &FTSearchOptions{SortBy: []FTSearchSortBy{{FieldName: "tag", Asc: true}}}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res7.Docs[0].ID).To(BeEquivalentTo("doc1")) + + }) + + It("should FTExplain", Label("search", "ftexplain"), func() { + text1 := &FieldSchema{FieldName: "f1", FieldType: SearchFieldTypeText} + text2 := &FieldSchema{FieldName: "f2", FieldType: SearchFieldTypeText} + text3 := &FieldSchema{FieldName: "f3", FieldType: SearchFieldTypeText} + val, err := adapter.FTCreate(ctx, "txt", &FTCreateOptions{}, text1, text2, text3).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "txt", 2) + res1, err := adapter.FTExplain(ctx, "txt", "@f3:f3_val @f2:f2_val @f1:f1_val").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1).ToNot(BeEmpty()) + + }) + + It("should FTAlias", Label("search", "ftexplain"), func() { + text1 := &FieldSchema{FieldName: "name", FieldType: SearchFieldTypeText} + text2 := &FieldSchema{FieldName: "name", FieldType: SearchFieldTypeText} + val1, err := adapter.FTCreate(ctx, "testAlias", &FTCreateOptions{Prefix: []interface{}{"index1:"}}, text1).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val1).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "testAlias", 2) + val2, err := adapter.FTCreate(ctx, "testAlias2", &FTCreateOptions{Prefix: []interface{}{"index2:"}}, text2).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val2).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "testAlias2", 2) + + adapter.HSet(ctx, "index1:lonestar", "name", "lonestar") + adapter.HSet(ctx, "index2:yogurt", "name", "yogurt") + + res1, err := adapter.FTSearch(ctx, "testAlias", "*").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1.Docs[0].ID).To(BeEquivalentTo("index1:lonestar")) + + aliasAddRes, err := adapter.FTAliasAdd(ctx, "testAlias", "mj23").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(aliasAddRes).To(BeEquivalentTo("OK")) + + res1, err = adapter.FTSearch(ctx, "mj23", "*").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1.Docs[0].ID).To(BeEquivalentTo("index1:lonestar")) + + aliasUpdateRes, err := adapter.FTAliasUpdate(ctx, "testAlias2", "kb24").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(aliasUpdateRes).To(BeEquivalentTo("OK")) + + res3, err := adapter.FTSearch(ctx, "kb24", "*").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res3.Docs[0].ID).To(BeEquivalentTo("index2:yogurt")) + + aliasDelRes, err := adapter.FTAliasDel(ctx, "mj23").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(aliasDelRes).To(BeEquivalentTo("OK")) + + }) + + It("should FTCreate and FTSearch textfield, sortable and nostem ", Label("search", "ftcreate", "ftsearch"), func() { + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, &FieldSchema{FieldName: "txt", FieldType: SearchFieldTypeText, Sortable: true, NoStem: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + resInfo, err := adapter.FTInfo(ctx, "idx1").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resInfo.Attributes[0].Sortable).To(BeTrue()) + Expect(resInfo.Attributes[0].NoStem).To(BeTrue()) + + }) + + It("should FTAlter", Label("search", "ftcreate", "ftsearch", "ftalter"), func() { + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, &FieldSchema{FieldName: "txt", FieldType: SearchFieldTypeText}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + resAlter, err := adapter.FTAlter(ctx, "idx1", false, []interface{}{"body", SearchFieldTypeText.String()}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resAlter).To(BeEquivalentTo("OK")) + + adapter.HSet(ctx, "doc1", "title", "MyTitle", "body", "Some content only in the body") + res1, err := adapter.FTSearch(ctx, "idx1", "only in the body").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1.Total).To(BeEquivalentTo(int64(1))) + + }) + + It("should FTSpellCheck", Label("search", "ftcreate", "ftsearch", "ftspellcheck"), func() { + text1 := &FieldSchema{FieldName: "f1", FieldType: SearchFieldTypeText} + text2 := &FieldSchema{FieldName: "f2", FieldType: SearchFieldTypeText} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, text1, text2).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "doc1", "f1", "some valid content", "f2", "this is sample text") + adapter.HSet(ctx, "doc2", "f1", "very important", "f2", "lorem ipsum") + + resSpellCheck, err := adapter.FTSpellCheck(ctx, "idx1", "impornant").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resSpellCheck[0].Suggestions[0].Suggestion).To(BeEquivalentTo("important")) + + resSpellCheck2, err := adapter.FTSpellCheck(ctx, "idx1", "contnt").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resSpellCheck2[0].Suggestions[0].Suggestion).To(BeEquivalentTo("content")) + + // test spellcheck with Levenshtein distance + resSpellCheck3, err := adapter.FTSpellCheck(ctx, "idx1", "vlis").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resSpellCheck3[0].Term).To(BeEquivalentTo("vlis")) + + resSpellCheck4, err := adapter.FTSpellCheckWithArgs(ctx, "idx1", "vlis", &FTSpellCheckOptions{Distance: 2}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resSpellCheck4[0].Suggestions[0].Suggestion).To(BeEquivalentTo("valid")) + + // test spellcheck include + resDictAdd, err := adapter.FTDictAdd(ctx, "dict", "lore", "lorem", "lorm").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resDictAdd).To(BeEquivalentTo(3)) + terms := &FTSpellCheckTerms{Inclusion: "INCLUDE", Dictionary: "dict"} + resSpellCheck5, err := adapter.FTSpellCheckWithArgs(ctx, "idx1", "lorm", &FTSpellCheckOptions{Terms: terms}).Result() + Expect(err).NotTo(HaveOccurred()) + lorm := resSpellCheck5[0].Suggestions + Expect(len(lorm)).To(BeEquivalentTo(3)) + Expect(lorm[0].Score).To(BeEquivalentTo(0.5)) + Expect(lorm[1].Score).To(BeEquivalentTo(0)) + Expect(lorm[2].Score).To(BeEquivalentTo(0)) + + terms2 := &FTSpellCheckTerms{Inclusion: "EXCLUDE", Dictionary: "dict"} + resSpellCheck6, err := adapter.FTSpellCheckWithArgs(ctx, "idx1", "lorm", &FTSpellCheckOptions{Terms: terms2}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resSpellCheck6).To(BeEmpty()) + }) + + It("should FTDict opreations", Label("search", "ftdictdump", "ftdictdel", "ftdictadd"), func() { + text1 := &FieldSchema{FieldName: "f1", FieldType: SearchFieldTypeText} + text2 := &FieldSchema{FieldName: "f2", FieldType: SearchFieldTypeText} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, text1, text2).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + resDictAdd, err := adapter.FTDictAdd(ctx, "custom_dict", "item1", "item2", "item3").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resDictAdd).To(BeEquivalentTo(3)) + + resDictDel, err := adapter.FTDictDel(ctx, "custom_dict", "item2").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resDictDel).To(BeEquivalentTo(1)) + + resDictDump, err := adapter.FTDictDump(ctx, "custom_dict").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resDictDump).To(BeEquivalentTo([]string{"item1", "item3"})) + + resDictDel2, err := adapter.FTDictDel(ctx, "custom_dict", "item1", "item3").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resDictDel2).To(BeEquivalentTo(2)) + }) + + It("should FTSearch phonetic matcher", Label("search", "ftsearch"), func() { + text1 := &FieldSchema{FieldName: "name", FieldType: SearchFieldTypeText} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, text1).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "doc1", "name", "Jon") + adapter.HSet(ctx, "doc2", "name", "John") + + res1, err := adapter.FTSearch(ctx, "idx1", "Jon").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1.Total).To(BeEquivalentTo(int64(1))) + Expect(res1.Docs[0].Fields["name"]).To(BeEquivalentTo("Jon")) + + adapter.FlushDB(ctx) + text2 := &FieldSchema{FieldName: "name", FieldType: SearchFieldTypeText, PhoneticMatcher: "dm:en"} + val2, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, text2).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val2).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "doc1", "name", "Jon") + adapter.HSet(ctx, "doc2", "name", "John") + + res2, err := adapter.FTSearch(ctx, "idx1", "Jon").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res2.Total).To(BeEquivalentTo(int64(2))) + names := []interface{}{res2.Docs[0].Fields["name"], res2.Docs[1].Fields["name"]} + Expect(names).To(ContainElement("Jon")) + Expect(names).To(ContainElement("John")) + }) + + It("should FTSearch WithScores", Label("search", "ftsearch"), func() { + text1 := &FieldSchema{FieldName: "description", FieldType: SearchFieldTypeText} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, text1).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "doc1", "description", "The quick brown fox jumps over the lazy dog") + adapter.HSet(ctx, "doc2", "description", "Quick alice was beginning to get very tired of sitting by her quick sister on the bank, and of having nothing to do.") + + res, err := adapter.FTSearchWithArgs(ctx, "idx1", "quick", &FTSearchOptions{WithScores: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(*res.Docs[0].Score).To(BeEquivalentTo(float64(1))) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "quick", &FTSearchOptions{WithScores: true, Scorer: "TFIDF"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(*res.Docs[0].Score).To(BeEquivalentTo(float64(1))) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "quick", &FTSearchOptions{WithScores: true, Scorer: "TFIDF.DOCNORM"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(*res.Docs[0].Score).To(BeEquivalentTo(0.14285714285714285)) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "quick", &FTSearchOptions{WithScores: true, Scorer: "BM25"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(*res.Docs[0].Score).To(BeNumerically("<=", 0.22471909420069797)) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "quick", &FTSearchOptions{WithScores: true, Scorer: "DISMAX"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(*res.Docs[0].Score).To(BeEquivalentTo(float64(2))) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "quick", &FTSearchOptions{WithScores: true, Scorer: "DOCSCORE"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(*res.Docs[0].Score).To(BeEquivalentTo(float64(1))) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "quick", &FTSearchOptions{WithScores: true, Scorer: "HAMMING"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(*res.Docs[0].Score).To(BeEquivalentTo(float64(0))) + }) + + It("should FTConfigSet and FTConfigGet ", Label("search", "ftconfigget", "ftconfigset", "NonRedisEnterprise"), func() { + val, err := adapter.FTConfigSet(ctx, "TIMEOUT", "100").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + + res, err := adapter.FTConfigGet(ctx, "*").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res["TIMEOUT"]).To(BeEquivalentTo("100")) + + res, err = adapter.FTConfigGet(ctx, "TIMEOUT").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res).To(BeEquivalentTo(map[string]interface{}{"TIMEOUT": "100"})) + + }) + + It("should FTAggregate GroupBy ", Label("search", "ftaggregate"), func() { + text1 := &FieldSchema{FieldName: "title", FieldType: SearchFieldTypeText} + text2 := &FieldSchema{FieldName: "body", FieldType: SearchFieldTypeText} + text3 := &FieldSchema{FieldName: "parent", FieldType: SearchFieldTypeText} + num := &FieldSchema{FieldName: "random_num", FieldType: SearchFieldTypeNumeric} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, text1, text2, text3, num).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "search", "title", "RediSearch", + "body", "Redisearch impements a search engine on top of redis", + "parent", "redis", + "random_num", 10) + adapter.HSet(ctx, "ai", "title", "RedisAI", + "body", "RedisAI executes Deep Learning/Machine Learning models and managing their data.", + "parent", "redis", + "random_num", 3) + adapter.HSet(ctx, "json", "title", "RedisJson", + "body", "RedisJSON implements ECMA-404 The JSON Data Interchange Standard as a native data type.", + "parent", "redis", + "random_num", 8) + + reducer := FTAggregateReducer{Reducer: SearchCount} + options := &FTAggregateOptions{GroupBy: []FTAggregateGroupBy{{Fields: []interface{}{"@parent"}, Reduce: []FTAggregateReducer{reducer}}}} + res, err := adapter.FTAggregateWithArgs(ctx, "idx1", "redis", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["parent"]).To(BeEquivalentTo("redis")) + Expect(res.Rows[0].Fields["__generated_aliascount"]).To(BeEquivalentTo("3")) + + reducer = FTAggregateReducer{Reducer: SearchCountDistinct, Args: []interface{}{"@title"}} + options = &FTAggregateOptions{GroupBy: []FTAggregateGroupBy{{Fields: []interface{}{"@parent"}, Reduce: []FTAggregateReducer{reducer}}}} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "redis", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["parent"]).To(BeEquivalentTo("redis")) + Expect(res.Rows[0].Fields["__generated_aliascount_distincttitle"]).To(BeEquivalentTo("3")) + + reducer = FTAggregateReducer{Reducer: SearchSum, Args: []interface{}{"@random_num"}} + options = &FTAggregateOptions{GroupBy: []FTAggregateGroupBy{{Fields: []interface{}{"@parent"}, Reduce: []FTAggregateReducer{reducer}}}} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "redis", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["parent"]).To(BeEquivalentTo("redis")) + Expect(res.Rows[0].Fields["__generated_aliassumrandom_num"]).To(BeEquivalentTo("21")) + + reducer = FTAggregateReducer{Reducer: SearchMin, Args: []interface{}{"@random_num"}} + options = &FTAggregateOptions{GroupBy: []FTAggregateGroupBy{{Fields: []interface{}{"@parent"}, Reduce: []FTAggregateReducer{reducer}}}} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "redis", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["parent"]).To(BeEquivalentTo("redis")) + Expect(res.Rows[0].Fields["__generated_aliasminrandom_num"]).To(BeEquivalentTo("3")) + + reducer = FTAggregateReducer{Reducer: SearchMax, Args: []interface{}{"@random_num"}} + options = &FTAggregateOptions{GroupBy: []FTAggregateGroupBy{{Fields: []interface{}{"@parent"}, Reduce: []FTAggregateReducer{reducer}}}} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "redis", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["parent"]).To(BeEquivalentTo("redis")) + Expect(res.Rows[0].Fields["__generated_aliasmaxrandom_num"]).To(BeEquivalentTo("10")) + + reducer = FTAggregateReducer{Reducer: SearchAvg, Args: []interface{}{"@random_num"}} + options = &FTAggregateOptions{GroupBy: []FTAggregateGroupBy{{Fields: []interface{}{"@parent"}, Reduce: []FTAggregateReducer{reducer}}}} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "redis", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["parent"]).To(BeEquivalentTo("redis")) + Expect(res.Rows[0].Fields["__generated_aliasavgrandom_num"]).To(BeEquivalentTo("7")) + + reducer = FTAggregateReducer{Reducer: SearchStdDev, Args: []interface{}{"@random_num"}} + options = &FTAggregateOptions{GroupBy: []FTAggregateGroupBy{{Fields: []interface{}{"@parent"}, Reduce: []FTAggregateReducer{reducer}}}} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "redis", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["parent"]).To(BeEquivalentTo("redis")) + Expect(res.Rows[0].Fields["__generated_aliasstddevrandom_num"]).To(BeEquivalentTo("3.60555127546")) + + reducer = FTAggregateReducer{Reducer: SearchQuantile, Args: []interface{}{"@random_num", 0.5}} + options = &FTAggregateOptions{GroupBy: []FTAggregateGroupBy{{Fields: []interface{}{"@parent"}, Reduce: []FTAggregateReducer{reducer}}}} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "redis", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["parent"]).To(BeEquivalentTo("redis")) + Expect(res.Rows[0].Fields["__generated_aliasquantilerandom_num,0.5"]).To(BeEquivalentTo("8")) + + reducer = FTAggregateReducer{Reducer: SearchToList, Args: []interface{}{"@title"}} + options = &FTAggregateOptions{GroupBy: []FTAggregateGroupBy{{Fields: []interface{}{"@parent"}, Reduce: []FTAggregateReducer{reducer}}}} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "redis", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["parent"]).To(BeEquivalentTo("redis")) + Expect(res.Rows[0].Fields["__generated_aliastolisttitle"]).To(ContainElements("RediSearch", "RedisAI", "RedisJson")) + + reducer = FTAggregateReducer{Reducer: SearchFirstValue, Args: []interface{}{"@title"}, As: "first"} + options = &FTAggregateOptions{GroupBy: []FTAggregateGroupBy{{Fields: []interface{}{"@parent"}, Reduce: []FTAggregateReducer{reducer}}}} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "redis", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["parent"]).To(BeEquivalentTo("redis")) + Expect(res.Rows[0].Fields["first"]).To(Or(BeEquivalentTo("RediSearch"), BeEquivalentTo("RedisAI"), BeEquivalentTo("RedisJson"))) + + reducer = FTAggregateReducer{Reducer: SearchRandomSample, Args: []interface{}{"@title", 2}, As: "random"} + options = &FTAggregateOptions{GroupBy: []FTAggregateGroupBy{{Fields: []interface{}{"@parent"}, Reduce: []FTAggregateReducer{reducer}}}} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "redis", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["parent"]).To(BeEquivalentTo("redis")) + Expect(res.Rows[0].Fields["random"]).To(Or( + ContainElement("RediSearch"), + ContainElement("RedisAI"), + ContainElement("RedisJson"), + )) + + }) + + It("should FTAggregate sort and limit", Label("search", "ftaggregate"), func() { + text1 := &FieldSchema{FieldName: "t1", FieldType: SearchFieldTypeText} + text2 := &FieldSchema{FieldName: "t2", FieldType: SearchFieldTypeText} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, text1, text2).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "doc1", "t1", "a", "t2", "b") + adapter.HSet(ctx, "doc2", "t1", "b", "t2", "a") + + options := &FTAggregateOptions{SortBy: []FTAggregateSortBy{{FieldName: "@t2", Asc: true}, {FieldName: "@t1", Desc: true}}} + res, err := adapter.FTAggregateWithArgs(ctx, "idx1", "*", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["t1"]).To(BeEquivalentTo("b")) + Expect(res.Rows[1].Fields["t1"]).To(BeEquivalentTo("a")) + Expect(res.Rows[0].Fields["t2"]).To(BeEquivalentTo("a")) + Expect(res.Rows[1].Fields["t2"]).To(BeEquivalentTo("b")) + + options = &FTAggregateOptions{SortBy: []FTAggregateSortBy{{FieldName: "@t1"}}} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "*", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["t1"]).To(BeEquivalentTo("a")) + Expect(res.Rows[1].Fields["t1"]).To(BeEquivalentTo("b")) + + options = &FTAggregateOptions{SortBy: []FTAggregateSortBy{{FieldName: "@t1"}}, SortByMax: 1} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "*", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["t1"]).To(BeEquivalentTo("a")) + + options = &FTAggregateOptions{SortBy: []FTAggregateSortBy{{FieldName: "@t1"}}, Limit: 1, LimitOffset: 1} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "*", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["t1"]).To(BeEquivalentTo("b")) + }) + + It("should FTAggregate load ", Label("search", "ftaggregate"), func() { + text1 := &FieldSchema{FieldName: "t1", FieldType: SearchFieldTypeText} + text2 := &FieldSchema{FieldName: "t2", FieldType: SearchFieldTypeText} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, text1, text2).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "doc1", "t1", "hello", "t2", "world") + + options := &FTAggregateOptions{Load: []FTAggregateLoad{{Field: "t1"}}} + res, err := adapter.FTAggregateWithArgs(ctx, "idx1", "*", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["t1"]).To(BeEquivalentTo("hello")) + + options = &FTAggregateOptions{Load: []FTAggregateLoad{{Field: "t2"}}} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "*", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["t2"]).To(BeEquivalentTo("world")) + + options = &FTAggregateOptions{LoadAll: true} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "*", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["t1"]).To(BeEquivalentTo("hello")) + Expect(res.Rows[0].Fields["t2"]).To(BeEquivalentTo("world")) + }) + + It("should FTAggregate apply", Label("search", "ftaggregate"), func() { + text1 := &FieldSchema{FieldName: "PrimaryKey", FieldType: SearchFieldTypeText, Sortable: true} + num1 := &FieldSchema{FieldName: "CreatedDateTimeUTC", FieldType: SearchFieldTypeNumeric, Sortable: true} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, text1, num1).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "doc1", "PrimaryKey", "9::362330", "CreatedDateTimeUTC", "637387878524969984") + adapter.HSet(ctx, "doc2", "PrimaryKey", "9::362329", "CreatedDateTimeUTC", "637387875859270016") + + options := &FTAggregateOptions{Apply: []FTAggregateApply{{Field: "@CreatedDateTimeUTC * 10", As: "CreatedDateTimeUTC"}}} + res, err := adapter.FTAggregateWithArgs(ctx, "idx1", "*", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Rows[0].Fields["CreatedDateTimeUTC"]).To(Or(BeEquivalentTo("6373878785249699840"), BeEquivalentTo("6373878758592700416"))) + Expect(res.Rows[1].Fields["CreatedDateTimeUTC"]).To(Or(BeEquivalentTo("6373878785249699840"), BeEquivalentTo("6373878758592700416"))) + + }) + + It("should FTAggregate filter", Label("search", "ftaggregate"), func() { + text1 := &FieldSchema{FieldName: "name", FieldType: SearchFieldTypeText, Sortable: true} + num1 := &FieldSchema{FieldName: "age", FieldType: SearchFieldTypeNumeric, Sortable: true} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, text1, num1).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "doc1", "name", "bar", "age", "25") + adapter.HSet(ctx, "doc2", "name", "foo", "age", "19") + + for _, dlc := range []int{1, 2} { + options := &FTAggregateOptions{Filter: "@name=='foo' && @age < 20", DialectVersion: dlc} + res, err := adapter.FTAggregateWithArgs(ctx, "idx1", "*", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(Or(BeEquivalentTo(2), BeEquivalentTo(1))) + Expect(res.Rows[0].Fields["name"]).To(BeEquivalentTo("foo")) + + options = &FTAggregateOptions{Filter: "@age > 15", DialectVersion: dlc, SortBy: []FTAggregateSortBy{{FieldName: "@age"}}} + res, err = adapter.FTAggregateWithArgs(ctx, "idx1", "*", options).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(2)) + Expect(res.Rows[0].Fields["age"]).To(BeEquivalentTo("19")) + Expect(res.Rows[1].Fields["age"]).To(BeEquivalentTo("25")) + } + + }) + + It("should FTSearch SkipInitialScan", Label("search", "ftsearch"), func() { + adapter.HSet(ctx, "doc1", "foo", "bar") + + text1 := &FieldSchema{FieldName: "foo", FieldType: SearchFieldTypeText} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{SkipInitialScan: true}, text1).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + res, err := adapter.FTSearch(ctx, "idx1", "@foo:bar").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(int64(0))) + }) + + It("should FTCreate json", Label("search", "ftcreate"), func() { + + text1 := &FieldSchema{FieldName: "$.name", FieldType: SearchFieldTypeText} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{OnJSON: true, Prefix: []interface{}{"king:"}}, text1).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.JSONSet(ctx, "king:1", "$", `{"name": "henry"}`) + adapter.JSONSet(ctx, "king:2", "$", `{"name": "james"}`) + + res, err := adapter.FTSearch(ctx, "idx1", "henry").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(1)) + Expect(res.Docs[0].ID).To(BeEquivalentTo("king:1")) + Expect(res.Docs[0].Fields["$"]).To(BeEquivalentTo(`{"name":"henry"}`)) + }) + + It("should FTCreate json fields as names", Label("search", "ftcreate"), func() { + + text1 := &FieldSchema{FieldName: "$.name", FieldType: SearchFieldTypeText, As: "name"} + num1 := &FieldSchema{FieldName: "$.age", FieldType: SearchFieldTypeNumeric, As: "just_a_number"} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{OnJSON: true}, text1, num1).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.JSONSet(ctx, "doc:1", "$", `{"name": "Jon", "age": 25}`) + + res, err := adapter.FTSearchWithArgs(ctx, "idx1", "Jon", &FTSearchOptions{Return: []FTSearchReturn{{FieldName: "name"}, {FieldName: "just_a_number"}}}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(1)) + Expect(res.Docs[0].ID).To(BeEquivalentTo("doc:1")) + Expect(res.Docs[0].Fields["name"]).To(BeEquivalentTo("Jon")) + Expect(res.Docs[0].Fields["just_a_number"]).To(BeEquivalentTo("25")) + }) + + It("should FTCreate CaseSensitive", Label("search", "ftcreate"), func() { + + tag1 := &FieldSchema{FieldName: "t", FieldType: SearchFieldTypeTag, CaseSensitive: false} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, tag1).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "1", "t", "HELLO") + adapter.HSet(ctx, "2", "t", "hello") + + res, err := adapter.FTSearch(ctx, "idx1", "@t:{HELLO}").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(2)) + Expect(res.Docs[0].ID).To(BeEquivalentTo("1")) + Expect(res.Docs[1].ID).To(BeEquivalentTo("2")) + + resDrop, err := adapter.FTDropIndex(ctx, "idx1").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resDrop).To(BeEquivalentTo("OK")) + + tag2 := &FieldSchema{FieldName: "t", FieldType: SearchFieldTypeTag, CaseSensitive: true} + val, err = adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, tag2).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + res, err = adapter.FTSearch(ctx, "idx1", "@t:{HELLO}").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(1)) + Expect(res.Docs[0].ID).To(BeEquivalentTo("1")) + + }) + + It("should FTSearch ReturnFields", Label("search", "ftsearch"), func() { + resJson, err := adapter.JSONSet(ctx, "doc:1", "$", `{"t": "riceratops","t2": "telmatosaurus", "n": 9072, "flt": 97.2}`).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resJson).To(BeEquivalentTo("OK")) + + text1 := &FieldSchema{FieldName: "$.t", FieldType: SearchFieldTypeText} + num1 := &FieldSchema{FieldName: "$.flt", FieldType: SearchFieldTypeNumeric} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{OnJSON: true}, text1, num1).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + res, err := adapter.FTSearchWithArgs(ctx, "idx1", "*", &FTSearchOptions{Return: []FTSearchReturn{{FieldName: "$.t", As: "txt"}}}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(1)) + Expect(res.Docs[0].ID).To(BeEquivalentTo("doc:1")) + Expect(res.Docs[0].Fields["txt"]).To(BeEquivalentTo("riceratops")) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "*", &FTSearchOptions{Return: []FTSearchReturn{{FieldName: "$.t2", As: "txt"}}}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(1)) + Expect(res.Docs[0].ID).To(BeEquivalentTo("doc:1")) + Expect(res.Docs[0].Fields["txt"]).To(BeEquivalentTo("telmatosaurus")) + }) + + It("should FTSynUpdate", Label("search", "ftsynupdate"), func() { + + text1 := &FieldSchema{FieldName: "title", FieldType: SearchFieldTypeText} + text2 := &FieldSchema{FieldName: "body", FieldType: SearchFieldTypeText} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{OnHash: true}, text1, text2).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + resSynUpdate, err := adapter.FTSynUpdateWithArgs(ctx, "idx1", "id1", &FTSynUpdateOptions{SkipInitialScan: true}, []interface{}{"boy", "child", "offspring"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resSynUpdate).To(BeEquivalentTo("OK")) + adapter.HSet(ctx, "doc1", "title", "he is a baby", "body", "this is a test") + + resSynUpdate, err = adapter.FTSynUpdateWithArgs(ctx, "idx1", "id1", &FTSynUpdateOptions{SkipInitialScan: true}, []interface{}{"baby"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resSynUpdate).To(BeEquivalentTo("OK")) + adapter.HSet(ctx, "doc2", "title", "he is another baby", "body", "another test") + + res, err := adapter.FTSearchWithArgs(ctx, "idx1", "child", &FTSearchOptions{Expander: "SYNONYM"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Docs[0].ID).To(BeEquivalentTo("doc2")) + Expect(res.Docs[0].Fields["title"]).To(BeEquivalentTo("he is another baby")) + Expect(res.Docs[0].Fields["body"]).To(BeEquivalentTo("another test")) + }) + + It("should FTSynDump", Label("search", "ftsyndump"), func() { + text1 := &FieldSchema{FieldName: "title", FieldType: SearchFieldTypeText} + text2 := &FieldSchema{FieldName: "body", FieldType: SearchFieldTypeText} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{OnHash: true}, text1, text2).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + resSynUpdate, err := adapter.FTSynUpdate(ctx, "idx1", "id1", []interface{}{"boy", "child", "offspring"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resSynUpdate).To(BeEquivalentTo("OK")) + + resSynUpdate, err = adapter.FTSynUpdate(ctx, "idx1", "id1", []interface{}{"baby", "child"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resSynUpdate).To(BeEquivalentTo("OK")) + + resSynUpdate, err = adapter.FTSynUpdate(ctx, "idx1", "id1", []interface{}{"tree", "wood"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resSynUpdate).To(BeEquivalentTo("OK")) + + resSynDump, err := adapter.FTSynDump(ctx, "idx1").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resSynDump[0].Term).To(BeEquivalentTo("baby")) + Expect(resSynDump[0].Synonyms).To(BeEquivalentTo([]string{"id1"})) + Expect(resSynDump[1].Term).To(BeEquivalentTo("wood")) + Expect(resSynDump[1].Synonyms).To(BeEquivalentTo([]string{"id1"})) + Expect(resSynDump[2].Term).To(BeEquivalentTo("boy")) + Expect(resSynDump[2].Synonyms).To(BeEquivalentTo([]string{"id1"})) + Expect(resSynDump[3].Term).To(BeEquivalentTo("tree")) + Expect(resSynDump[3].Synonyms).To(BeEquivalentTo([]string{"id1"})) + Expect(resSynDump[4].Term).To(BeEquivalentTo("child")) + Expect(resSynDump[4].Synonyms).To(Or(BeEquivalentTo([]string{"id1"}), BeEquivalentTo([]string{"id1", "id1"}))) + Expect(resSynDump[5].Term).To(BeEquivalentTo("offspring")) + Expect(resSynDump[5].Synonyms).To(BeEquivalentTo([]string{"id1"})) + + }) + + It("should FTCreate json with alias", Label("search", "ftcreate"), func() { + + text1 := &FieldSchema{FieldName: "$.name", FieldType: SearchFieldTypeText, As: "name"} + num1 := &FieldSchema{FieldName: "$.num", FieldType: SearchFieldTypeNumeric, As: "num"} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{OnJSON: true, Prefix: []interface{}{"king:"}}, text1, num1).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.JSONSet(ctx, "king:1", "$", `{"name": "henry", "num": 42}`) + adapter.JSONSet(ctx, "king:2", "$", `{"name": "james", "num": 3.14}`) + + res, err := adapter.FTSearch(ctx, "idx1", "@name:henry").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(1)) + Expect(res.Docs[0].ID).To(BeEquivalentTo("king:1")) + Expect(res.Docs[0].Fields["$"]).To(BeEquivalentTo(`{"name":"henry","num":42}`)) + + res, err = adapter.FTSearch(ctx, "idx1", "@num:[0 10]").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(1)) + Expect(res.Docs[0].ID).To(BeEquivalentTo("king:2")) + Expect(res.Docs[0].Fields["$"]).To(BeEquivalentTo(`{"name":"james","num":3.14}`)) + }) + + It("should FTCreate json with multipath", Label("search", "ftcreate"), func() { + + tag1 := &FieldSchema{FieldName: "$..name", FieldType: SearchFieldTypeTag, As: "name"} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{OnJSON: true, Prefix: []interface{}{"king:"}}, tag1).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.JSONSet(ctx, "king:1", "$", `{"name": "henry", "country": {"name": "england"}}`) + + res, err := adapter.FTSearch(ctx, "idx1", "@name:{england}").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(1)) + Expect(res.Docs[0].ID).To(BeEquivalentTo("king:1")) + Expect(res.Docs[0].Fields["$"]).To(BeEquivalentTo(`{"name":"henry","country":{"name":"england"}}`)) + }) + + It("should FTCreate json with jsonpath", Label("search", "ftcreate"), func() { + + text1 := &FieldSchema{FieldName: `$["prod:name"]`, FieldType: SearchFieldTypeText, As: "name"} + text2 := &FieldSchema{FieldName: `$.prod:name`, FieldType: SearchFieldTypeText, As: "name_unsupported"} + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{OnJSON: true}, text1, text2).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.JSONSet(ctx, "doc:1", "$", `{"prod:name": "RediSearch"}`) + + res, err := adapter.FTSearch(ctx, "idx1", "@name:RediSearch").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(1)) + Expect(res.Docs[0].ID).To(BeEquivalentTo("doc:1")) + Expect(res.Docs[0].Fields["$"]).To(BeEquivalentTo(`{"prod:name":"RediSearch"}`)) + + res, err = adapter.FTSearch(ctx, "idx1", "@name_unsupported:RediSearch").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(1)) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "@name:RediSearch", &FTSearchOptions{Return: []FTSearchReturn{{FieldName: "name"}}}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(1)) + Expect(res.Docs[0].ID).To(BeEquivalentTo("doc:1")) + Expect(res.Docs[0].Fields["name"]).To(BeEquivalentTo("RediSearch")) + + }) + + It("should FTCreate VECTOR", Label("search", "ftcreate"), func() { + hnswOptions := &FTHNSWOptions{Type: "FLOAT32", Dim: 2, DistanceMetric: "L2"} + val, err := adapter.FTCreate(ctx, "idx1", + &FTCreateOptions{}, + &FieldSchema{FieldName: "v", FieldType: SearchFieldTypeVector, VectorArgs: &FTVectorArgs{HNSWOptions: hnswOptions}}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "a", "v", "aaaaaaaa") + adapter.HSet(ctx, "b", "v", "aaaabaaa") + adapter.HSet(ctx, "c", "v", "aaaaabaa") + + searchOptions := &FTSearchOptions{ + Return: []FTSearchReturn{{FieldName: "__v_score"}}, + SortBy: []FTSearchSortBy{{FieldName: "__v_score", Asc: true}}, + DialectVersion: 2, + Params: map[string]interface{}{"vec": "aaaaaaaa"}, + } + res, err := adapter.FTSearchWithArgs(ctx, "idx1", "*=>[KNN 2 @v $vec]", searchOptions).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Docs[0].ID).To(BeEquivalentTo("a")) + Expect(res.Docs[0].Fields["__v_score"]).To(BeEquivalentTo("0")) + }) + + It("should FTCreate and FTSearch text params", Label("search", "ftcreate", "ftsearch"), func() { + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, &FieldSchema{FieldName: "name", FieldType: SearchFieldTypeText}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "doc1", "name", "Alice") + adapter.HSet(ctx, "doc2", "name", "Bob") + adapter.HSet(ctx, "doc3", "name", "Carol") + + res1, err := adapter.FTSearchWithArgs(ctx, "idx1", "@name:($name1 | $name2 )", &FTSearchOptions{Params: map[string]interface{}{"name1": "Alice", "name2": "Bob"}, DialectVersion: 2}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1.Total).To(BeEquivalentTo(int64(2))) + Expect(res1.Docs[0].ID).To(BeEquivalentTo("doc1")) + Expect(res1.Docs[1].ID).To(BeEquivalentTo("doc2")) + + }) + + It("should FTCreate and FTSearch numeric params", Label("search", "ftcreate", "ftsearch"), func() { + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, &FieldSchema{FieldName: "numval", FieldType: SearchFieldTypeNumeric}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "doc1", "numval", 101) + adapter.HSet(ctx, "doc2", "numval", 102) + adapter.HSet(ctx, "doc3", "numval", 103) + + res1, err := adapter.FTSearchWithArgs(ctx, "idx1", "@numval:[$min $max]", &FTSearchOptions{Params: map[string]interface{}{"min": 101, "max": 102}, DialectVersion: 2}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1.Total).To(BeEquivalentTo(int64(2))) + Expect(res1.Docs[0].ID).To(BeEquivalentTo("doc1")) + Expect(res1.Docs[1].ID).To(BeEquivalentTo("doc2")) + + }) + + It("should FTCreate and FTSearch geo params", Label("search", "ftcreate", "ftsearch"), func() { + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, &FieldSchema{FieldName: "g", FieldType: SearchFieldTypeGeo}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "doc1", "g", "29.69465, 34.95126") + adapter.HSet(ctx, "doc2", "g", "29.69350, 34.94737") + adapter.HSet(ctx, "doc3", "g", "29.68746, 34.94882") + + res1, err := adapter.FTSearchWithArgs(ctx, "idx1", "@g:[$lon $lat $radius $units]", &FTSearchOptions{Params: map[string]interface{}{"lat": "34.95126", "lon": "29.69465", "radius": 1000, "units": "km"}, DialectVersion: 2}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1.Total).To(BeEquivalentTo(int64(3))) + Expect(res1.Docs[0].ID).To(BeEquivalentTo("doc1")) + Expect(res1.Docs[1].ID).To(BeEquivalentTo("doc2")) + Expect(res1.Docs[2].ID).To(BeEquivalentTo("doc3")) + + }) + + It("should FTConfigSet and FTConfigGet dialect", Label("search", "ftconfigget", "ftconfigset", "NonRedisEnterprise"), func() { + res, err := adapter.FTConfigSet(ctx, "DEFAULT_DIALECT", "1").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res).To(BeEquivalentTo("OK")) + + defDialect, err := adapter.FTConfigGet(ctx, "DEFAULT_DIALECT").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(defDialect).To(BeEquivalentTo(map[string]interface{}{"DEFAULT_DIALECT": "1"})) + + res, err = adapter.FTConfigSet(ctx, "DEFAULT_DIALECT", "2").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res).To(BeEquivalentTo("OK")) + + defDialect, err = adapter.FTConfigGet(ctx, "DEFAULT_DIALECT").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(defDialect).To(BeEquivalentTo(map[string]interface{}{"DEFAULT_DIALECT": "2"})) + }) + + It("should FTCreate WithSuffixtrie", Label("search", "ftcreate", "ftinfo"), func() { + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, &FieldSchema{FieldName: "txt", FieldType: SearchFieldTypeText}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + res, err := adapter.FTInfo(ctx, "idx1").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Attributes[0].Attribute).To(BeEquivalentTo("txt")) + + resDrop, err := adapter.FTDropIndex(ctx, "idx1").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resDrop).To(BeEquivalentTo("OK")) + + // create withsuffixtrie index - text field + val, err = adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, &FieldSchema{FieldName: "txt", FieldType: SearchFieldTypeText, WithSuffixtrie: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + res, err = adapter.FTInfo(ctx, "idx1").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Attributes[0].WithSuffixtrie).To(BeTrue()) + + resDrop, err = adapter.FTDropIndex(ctx, "idx1").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(resDrop).To(BeEquivalentTo("OK")) + + // create withsuffixtrie index - tag field + val, err = adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, &FieldSchema{FieldName: "t", FieldType: SearchFieldTypeTag, WithSuffixtrie: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + res, err = adapter.FTInfo(ctx, "idx1").Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Attributes[0].WithSuffixtrie).To(BeTrue()) + }) + + It("should test dialect 4", Label("search", "ftcreate", "ftsearch", "NonRedisEnterprise"), func() { + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{ + Prefix: []interface{}{"resource:"}, + }, &FieldSchema{ + FieldName: "uuid", + FieldType: SearchFieldTypeTag, + }, &FieldSchema{ + FieldName: "tags", + FieldType: SearchFieldTypeTag, + }, &FieldSchema{ + FieldName: "description", + FieldType: SearchFieldTypeText, + }, &FieldSchema{ + FieldName: "rating", + FieldType: SearchFieldTypeNumeric, + }).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + + adapter.HSet(ctx, "resource:1", map[string]interface{}{ + "uuid": "123e4567-e89b-12d3-a456-426614174000", + "tags": "finance|crypto|$btc|blockchain", + "description": "Analysis of blockchain technologies & Bitcoin's potential.", + "rating": 5, + }) + adapter.HSet(ctx, "resource:2", map[string]interface{}{ + "uuid": "987e6543-e21c-12d3-a456-426614174999", + "tags": "health|well-being|fitness|new-year's-resolutions", + "description": "Health trends for the new year, including fitness regimes.", + "rating": 4, + }) + + res, err := adapter.FTSearchWithArgs(ctx, "idx1", "@uuid:{$uuid}", + &FTSearchOptions{ + DialectVersion: 2, + Params: map[string]interface{}{"uuid": "123e4567-e89b-12d3-a456-426614174000"}, + }).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(int64(1))) + Expect(res.Docs[0].ID).To(BeEquivalentTo("resource:1")) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "@uuid:{$uuid}", + &FTSearchOptions{ + DialectVersion: 4, + Params: map[string]interface{}{"uuid": "123e4567-e89b-12d3-a456-426614174000"}, + }).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Total).To(BeEquivalentTo(int64(1))) + Expect(res.Docs[0].ID).To(BeEquivalentTo("resource:1")) + + adapter.HSet(ctx, "test:1", map[string]interface{}{ + "uuid": "3d3586fe-0416-4572-8ce", + "email": "adriano@acme.com.ie", + "num": 5, + }) + + // Create the index + ftCreateOptions := &FTCreateOptions{ + Prefix: []interface{}{"test:"}, + } + schema := []*FieldSchema{ + { + FieldName: "uuid", + FieldType: SearchFieldTypeTag, + }, + { + FieldName: "email", + FieldType: SearchFieldTypeTag, + }, + { + FieldName: "num", + FieldType: SearchFieldTypeNumeric, + }, + } + + val, err = adapter.FTCreate(ctx, "idx_hash", ftCreateOptions, schema...).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(Equal("OK")) + + ftSearchOptions := &FTSearchOptions{ + DialectVersion: 4, + Params: map[string]interface{}{ + "uuid": "3d3586fe-0416-4572-8ce", + "email": "adriano@acme.com.ie", + }, + } + + res, err = adapter.FTSearchWithArgs(ctx, "idx_hash", "@uuid:{$uuid}", ftSearchOptions).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Docs[0].ID).To(BeEquivalentTo("test:1")) + Expect(res.Docs[0].Fields["uuid"]).To(BeEquivalentTo("3d3586fe-0416-4572-8ce")) + + res, err = adapter.FTSearchWithArgs(ctx, "idx_hash", "@email:{$email}", ftSearchOptions).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Docs[0].ID).To(BeEquivalentTo("test:1")) + Expect(res.Docs[0].Fields["email"]).To(BeEquivalentTo("adriano@acme.com.ie")) + + ftSearchOptions.Params = map[string]interface{}{"num": 5} + res, err = adapter.FTSearchWithArgs(ctx, "idx_hash", "@num:[5]", ftSearchOptions).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Docs[0].ID).To(BeEquivalentTo("test:1")) + Expect(res.Docs[0].Fields["num"]).To(BeEquivalentTo("5")) + }) + + It("should FTCreate GeoShape", Label("search", "ftcreate", "ftsearch"), func() { + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, &FieldSchema{FieldName: "geom", FieldType: SearchFieldTypeGeoShape, GeoShapeFieldType: "FLAT"}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "small", "geom", "POLYGON((1 1, 1 100, 100 100, 100 1, 1 1))") + adapter.HSet(ctx, "large", "geom", "POLYGON((1 1, 1 200, 200 200, 200 1, 1 1))") + + res1, err := adapter.FTSearchWithArgs(ctx, "idx1", "@geom:[WITHIN $poly]", + &FTSearchOptions{ + DialectVersion: 3, + Params: map[string]interface{}{"poly": "POLYGON((0 0, 0 150, 150 150, 150 0, 0 0))"}, + }).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res1.Total).To(BeEquivalentTo(int64(1))) + Expect(res1.Docs[0].ID).To(BeEquivalentTo("small")) + + res2, err := adapter.FTSearchWithArgs(ctx, "idx1", "@geom:[CONTAINS $poly]", + &FTSearchOptions{ + DialectVersion: 3, + Params: map[string]interface{}{"poly": "POLYGON((2 2, 2 50, 50 50, 50 2, 2 2))"}, + }).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res2.Total).To(BeEquivalentTo(int64(2))) + }) + + It("should create search index with FLOAT16 and BFLOAT16 vectors", Label("search", "ftcreate", "NonRedisEnterprise"), func() { + val, err := adapter.FTCreate(ctx, "index", &FTCreateOptions{}, + &FieldSchema{FieldName: "float16", FieldType: SearchFieldTypeVector, VectorArgs: &FTVectorArgs{FlatOptions: &FTFlatOptions{Type: "FLOAT16", Dim: 768, DistanceMetric: "COSINE"}}}, + &FieldSchema{FieldName: "bfloat16", FieldType: SearchFieldTypeVector, VectorArgs: &FTVectorArgs{FlatOptions: &FTFlatOptions{Type: "BFLOAT16", Dim: 768, DistanceMetric: "COSINE"}}}, + ).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "index", 2) + }) + + It("should test geoshapes query intersects and disjoint", Label("NonRedisEnterprise"), func() { + _, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{}, &FieldSchema{ + FieldName: "g", + FieldType: SearchFieldTypeGeoShape, + GeoShapeFieldType: "FLAT", + }).Result() + Expect(err).NotTo(HaveOccurred()) + + adapter.HSet(ctx, "doc_point1", "g", "POINT (10 10)") + adapter.HSet(ctx, "doc_point2", "g", "POINT (50 50)") + adapter.HSet(ctx, "doc_polygon1", "g", "POLYGON ((20 20, 25 35, 35 25, 20 20))") + adapter.HSet(ctx, "doc_polygon2", "g", "POLYGON ((60 60, 65 75, 70 70, 65 55, 60 60))") + + intersection, err := adapter.FTSearchWithArgs(ctx, "idx1", "@g:[intersects $shape]", + &FTSearchOptions{ + DialectVersion: 3, + Params: map[string]interface{}{"shape": "POLYGON((15 15, 75 15, 50 70, 20 40, 15 15))"}, + }).Result() + Expect(err).NotTo(HaveOccurred()) + _assert_geosearch_result(&intersection, []string{"doc_point2", "doc_polygon1"}) + + disjunction, err := adapter.FTSearchWithArgs(ctx, "idx1", "@g:[disjoint $shape]", + &FTSearchOptions{ + DialectVersion: 3, + Params: map[string]interface{}{"shape": "POLYGON((15 15, 75 15, 50 70, 20 40, 15 15))"}, + }).Result() + Expect(err).NotTo(HaveOccurred()) + _assert_geosearch_result(&disjunction, []string{"doc_point1", "doc_polygon2"}) + }) + + It("should test geoshapes query contains and within", func() { + _, err := adapter.FTCreate(ctx, "idx2", &FTCreateOptions{}, &FieldSchema{ + FieldName: "g", + FieldType: SearchFieldTypeGeoShape, + GeoShapeFieldType: "FLAT", + }).Result() + Expect(err).NotTo(HaveOccurred()) + + adapter.HSet(ctx, "doc_point1", "g", "POINT (10 10)") + adapter.HSet(ctx, "doc_point2", "g", "POINT (50 50)") + adapter.HSet(ctx, "doc_polygon1", "g", "POLYGON ((20 20, 25 35, 35 25, 20 20))") + adapter.HSet(ctx, "doc_polygon2", "g", "POLYGON ((60 60, 65 75, 70 70, 65 55, 60 60))") + + containsA, err := adapter.FTSearchWithArgs(ctx, "idx2", "@g:[contains $shape]", + &FTSearchOptions{ + DialectVersion: 3, + Params: map[string]interface{}{"shape": "POINT(25 25)"}, + }).Result() + Expect(err).NotTo(HaveOccurred()) + _assert_geosearch_result(&containsA, []string{"doc_polygon1"}) + + containsB, err := adapter.FTSearchWithArgs(ctx, "idx2", "@g:[contains $shape]", + &FTSearchOptions{ + DialectVersion: 3, + Params: map[string]interface{}{"shape": "POLYGON((24 24, 24 26, 25 25, 24 24))"}, + }).Result() + Expect(err).NotTo(HaveOccurred()) + _assert_geosearch_result(&containsB, []string{"doc_polygon1"}) + + within, err := adapter.FTSearchWithArgs(ctx, "idx2", "@g:[within $shape]", + &FTSearchOptions{ + DialectVersion: 3, + Params: map[string]interface{}{"shape": "POLYGON((15 15, 75 15, 50 70, 20 40, 15 15))"}, + }).Result() + Expect(err).NotTo(HaveOccurred()) + _assert_geosearch_result(&within, []string{"doc_point2", "doc_polygon1"}) + }) + + It("should search missing fields", Label("search", "ftcreate", "ftsearch", "NonRedisEnterprise"), func() { + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{Prefix: []interface{}{"property:"}}, + &FieldSchema{FieldName: "title", FieldType: SearchFieldTypeText, Sortable: true}, + &FieldSchema{FieldName: "features", FieldType: SearchFieldTypeTag, IndexMissing: true}, + &FieldSchema{FieldName: "description", FieldType: SearchFieldTypeText, IndexMissing: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "property:1", map[string]interface{}{ + "title": "Luxury Villa in Malibu", + "features": "pool,sea view,modern", + "description": "A stunning modern villa overlooking the Pacific Ocean.", + }) + + adapter.HSet(ctx, "property:2", map[string]interface{}{ + "title": "Downtown Flat", + "description": "Modern flat in central Paris with easy access to metro.", + }) + + adapter.HSet(ctx, "property:3", map[string]interface{}{ + "title": "Beachfront Bungalow", + "features": "beachfront,sun deck", + }) + + res, err := adapter.FTSearchWithArgs(ctx, "idx1", "ismissing(@features)", &FTSearchOptions{DialectVersion: 4, Return: []FTSearchReturn{{FieldName: "id"}}, NoContent: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Docs[0].ID).To(BeEquivalentTo("property:2")) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "-ismissing(@features)", &FTSearchOptions{DialectVersion: 4, Return: []FTSearchReturn{{FieldName: "id"}}, NoContent: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Docs[0].ID).To(BeEquivalentTo("property:1")) + Expect(res.Docs[1].ID).To(BeEquivalentTo("property:3")) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "ismissing(@description)", &FTSearchOptions{DialectVersion: 4, Return: []FTSearchReturn{{FieldName: "id"}}, NoContent: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Docs[0].ID).To(BeEquivalentTo("property:3")) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "-ismissing(@description)", &FTSearchOptions{DialectVersion: 4, Return: []FTSearchReturn{{FieldName: "id"}}, NoContent: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Docs[0].ID).To(BeEquivalentTo("property:1")) + Expect(res.Docs[1].ID).To(BeEquivalentTo("property:2")) + }) + + It("should search empty fields", Label("search", "ftcreate", "ftsearch", "NonRedisEnterprise"), func() { + val, err := adapter.FTCreate(ctx, "idx1", &FTCreateOptions{Prefix: []interface{}{"property:"}}, + &FieldSchema{FieldName: "title", FieldType: SearchFieldTypeText, Sortable: true}, + &FieldSchema{FieldName: "features", FieldType: SearchFieldTypeTag, IndexEmpty: true}, + &FieldSchema{FieldName: "description", FieldType: SearchFieldTypeText, IndexEmpty: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(val).To(BeEquivalentTo("OK")) + WaitForIndexing(client, "idx1", 2) + + adapter.HSet(ctx, "property:1", map[string]interface{}{ + "title": "Luxury Villa in Malibu", + "features": "pool,sea view,modern", + "description": "A stunning modern villa overlooking the Pacific Ocean.", + }) + + adapter.HSet(ctx, "property:2", map[string]interface{}{ + "title": "Downtown Flat", + "features": "", + "description": "Modern flat in central Paris with easy access to metro.", + }) + + adapter.HSet(ctx, "property:3", map[string]interface{}{ + "title": "Beachfront Bungalow", + "features": "beachfront,sun deck", + "description": "", + }) + + res, err := adapter.FTSearchWithArgs(ctx, "idx1", "@features:{\"\"}", &FTSearchOptions{DialectVersion: 4, Return: []FTSearchReturn{{FieldName: "id"}}, NoContent: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Docs[0].ID).To(BeEquivalentTo("property:2")) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "-@features:{\"\"}", &FTSearchOptions{DialectVersion: 4, Return: []FTSearchReturn{{FieldName: "id"}}, NoContent: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Docs[0].ID).To(BeEquivalentTo("property:1")) + Expect(res.Docs[1].ID).To(BeEquivalentTo("property:3")) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "@description:''", &FTSearchOptions{DialectVersion: 4, Return: []FTSearchReturn{{FieldName: "id"}}, NoContent: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Docs[0].ID).To(BeEquivalentTo("property:3")) + + res, err = adapter.FTSearchWithArgs(ctx, "idx1", "-@description:''", &FTSearchOptions{DialectVersion: 4, Return: []FTSearchReturn{{FieldName: "id"}}, NoContent: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res.Docs[0].ID).To(BeEquivalentTo("property:1")) + Expect(res.Docs[1].ID).To(BeEquivalentTo("property:2")) + }) + }) +} + +func libCode(libName string) string { + return fmt.Sprintf("#!js api_version=1.0 name=%s\n redis.registerFunction('foo', ()=>{{return 'bar'}})", libName) +} + +func libCodeWithConfig(libName string) string { + lib := `#!js api_version=1.0 name=%s + + var last_update_field_name = "__last_update__" + + if (redis.config.last_update_field_name !== undefined) { + if (typeof redis.config.last_update_field_name != 'string') { + throw "last_update_field_name must be a string"; + } + last_update_field_name = redis.config.last_update_field_name + } + + redis.registerFunction("hset", function(client, key, field, val){ + // get the current time in ms + var curr_time = client.call("time")[0]; + return client.call('hset', key, field, val, last_update_field_name, curr_time); + });` + return fmt.Sprintf(lib, libName) +} + +type numberStruct struct { + Number int +} + +func (s *numberStruct) MarshalBinary() ([]byte, error) { + return json.Marshal(s) +} + +func (s *numberStruct) UnmarshalBinary(b []byte) error { + return json.Unmarshal(b, s) +} + +func WaitForIndexing(c rueidis.Client, index string, protocolVersion int) { + adapter := NewAdapter(c) + time.Sleep(1000 * time.Millisecond) + for { + res, err := adapter.FTInfo(context.Background(), index).Result() + Expect(err).NotTo(HaveOccurred()) + if protocolVersion == 2 { + if res.Indexing == 0 { + return + } + time.Sleep(100 * time.Millisecond) + } else { + return + } + } +} + +func _assert_geosearch_result(result *FTSearchResult, expectedDocIDs []string) { + ids := make([]string, len(result.Docs)) + for i, doc := range result.Docs { + ids[i] = doc.ID + } + Expect(ids).To(ConsistOf(expectedDocIDs)) + Expect(result.Total).To(BeEquivalentTo(len(expectedDocIDs))) } diff --git a/rueidiscompat/command.go b/rueidiscompat/command.go index 699f8706..79514734 100644 --- a/rueidiscompat/command.go +++ b/rueidiscompat/command.go @@ -45,8 +45,9 @@ type Cmder interface { } type baseCmd[T any] struct { - err error - val T + err error + val T + rawVal any } func (cmd *baseCmd[T]) SetVal(val T) { @@ -57,6 +58,14 @@ func (cmd *baseCmd[T]) Val() T { return cmd.val } +func (cmd *baseCmd[T]) SetRawVal(rawVal any) { + cmd.rawVal = rawVal +} + +func (cmd *baseCmd[T]) RawVal() any { + return cmd.rawVal +} + func (cmd *baseCmd[T]) SetErr(err error) { cmd.err = err } @@ -69,6 +78,10 @@ func (cmd *baseCmd[T]) Result() (T, error) { return cmd.Val(), cmd.Err() } +func (cmd *baseCmd[T]) RawResult() (any, error) { + return cmd.RawVal(), cmd.Err() +} + type Cmd struct { baseCmd[any] } @@ -3348,3 +3361,1220 @@ func newJSONSliceCmd(res rueidis.RedisResult) *JSONSliceCmd { cmd.from(res) return cmd } + +type MapMapStringInterfaceCmd struct { + baseCmd[map[string]any] +} + +func (cmd *MapMapStringInterfaceCmd) from(res rueidis.RedisResult) { + arr, err := res.ToArray() + if err != nil { + cmd.SetErr(err) + return + } + data := make(map[string]any, len(arr)/2) + for i := 0; i < len(arr); i++ { + arr1, err := arr[i].ToArray() + if err != nil { + cmd.SetErr(err) + return + } + for _i := 0; _i < len(arr1); _i += 2 { + key, err := arr1[_i].ToString() + if err != nil { + cmd.SetErr(err) + return + } + if !arr1[_i+1].IsNil() { + value, err := arr1[_i+1].ToAny() + if err != nil { + cmd.SetErr(err) + return + } + data[key] = value + } else { + data[key] = nil + } + } + } + cmd.SetVal(data) +} + +func newMapMapStringInterfaceCmd(res rueidis.RedisResult) *MapMapStringInterfaceCmd { + cmd := &MapMapStringInterfaceCmd{} + cmd.from(res) + return cmd +} + +type FTAggregateResult struct { + Total int + Rows []AggregateRow +} + +type AggregateRow struct { + Fields map[string]any +} + +// Each AggregateReducer have different args. +// Please follow https://redis.io/docs/interact/search-and-query/search/aggregations/#supported-groupby-reducers for more information. +type FTAggregateReducer struct { + Reducer SearchAggregator + Args []interface{} + As string +} + +type FTAggregateGroupBy struct { + Fields []interface{} + Reduce []FTAggregateReducer +} + +type FTAggregateSortBy struct { + FieldName string + Asc bool + Desc bool +} + +type FTAggregateApply struct { + Field string + As string +} + +type FTAggregateLoad struct { + Field string + As string +} + +type FTAggregateWithCursor struct { + Count int + MaxIdle int +} + +type FTAggregateOptions struct { + Verbatim bool + LoadAll bool + Load []FTAggregateLoad + Timeout int + GroupBy []FTAggregateGroupBy + SortBy []FTAggregateSortBy + SortByMax int + Apply []FTAggregateApply + LimitOffset int + Limit int + Filter string + WithCursor bool + WithCursorOptions *FTAggregateWithCursor + Params map[string]interface{} + DialectVersion int +} + +type AggregateCmd struct { + baseCmd[*FTAggregateResult] +} + +func (cmd *AggregateCmd) from(res rueidis.RedisResult) { + if err := res.Error(); err != nil { + cmd.SetErr(err) + return + } + anyRes, err := res.ToAny() + if err != nil { + cmd.SetErr(err) + return + } + cmd.SetRawVal(anyRes) + msg, err := res.ToMessage() + if err != nil { + cmd.SetErr(err) + return + } + if !(msg.IsMap() || msg.IsArray()) { + panic("res should be either map(RESP3) or array(RESP2)") + } + if msg.IsMap() { + total, docs, err := msg.AsFtAggregate() + if err != nil { + cmd.SetErr(err) + return + } + aggResult := &FTAggregateResult{Total: int(total)} + for _, doc := range docs { + anyMap := make(map[string]any, len(doc)) + for k, v := range doc { + anyMap[k] = v + } + aggResult.Rows = append(aggResult.Rows, AggregateRow{anyMap}) + } + cmd.SetVal(aggResult) + return + } + // is RESP2 array + rows, err := msg.ToArray() + if err != nil { + cmd.SetErr(err) + return + } + anyArr := make([]any, 0, len(rows)) + for _, e := range rows { + anyE, err := e.ToAny() + if err != nil { + cmd.SetErr(err) + return + } + anyArr = append(anyArr, anyE) + } + result, err := processAggregateResult(anyArr) + if err != nil { + cmd.SetErr(err) + return + } + cmd.SetVal(result) +} + +// Ref: https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L584 +func processAggregateResult(data []interface{}) (*FTAggregateResult, error) { + if len(data) == 0 { + return nil, fmt.Errorf("no data returned") + } + + total, ok := data[0].(int64) + if !ok { + return nil, fmt.Errorf("invalid total format") + } + + rows := make([]AggregateRow, 0, len(data)-1) + for _, row := range data[1:] { + fields, ok := row.([]interface{}) + if !ok { + return nil, fmt.Errorf("invalid row format") + } + + rowMap := make(map[string]interface{}) + for i := 0; i < len(fields); i += 2 { + key, ok := fields[i].(string) + if !ok { + return nil, fmt.Errorf("invalid field key format") + } + value := fields[i+1] + rowMap[key] = value + } + rows = append(rows, AggregateRow{Fields: rowMap}) + } + + result := &FTAggregateResult{ + Total: int(total), + Rows: rows, + } + return result, nil +} + +func newAggregateCmd(res rueidis.RedisResult) *AggregateCmd { + cmd := &AggregateCmd{} + cmd.from(res) + return cmd +} + +type FTCreateOptions struct { + OnHash bool + OnJSON bool + Prefix []any + Filter string + DefaultLanguage string + LanguageField string + Score float64 + ScoreField string + PayloadField string + MaxTextFields int + NoOffsets bool + Temporary int + NoHL bool + NoFields bool + NoFreqs bool + StopWords []any + SkipInitialScan bool +} + +type SearchAggregator int + +const ( + SearchInvalid = SearchAggregator(iota) + SearchAvg + SearchSum + SearchMin + SearchMax + SearchCount + SearchCountDistinct + SearchCountDistinctish + SearchStdDev + SearchQuantile + SearchToList + SearchFirstValue + SearchRandomSample +) + +func (a SearchAggregator) String() string { + switch a { + case SearchInvalid: + return "" + case SearchAvg: + return "AVG" + case SearchSum: + return "SUM" + case SearchMin: + return "MIN" + case SearchMax: + return "MAX" + case SearchCount: + return "COUNT" + case SearchCountDistinct: + return "COUNT_DISTINCT" + case SearchCountDistinctish: + return "COUNT_DISTINCTISH" + case SearchStdDev: + return "STDDEV" + case SearchQuantile: + return "QUANTILE" + case SearchToList: + return "TOLIST" + case SearchFirstValue: + return "FIRST_VALUE" + case SearchRandomSample: + return "RANDOM_SAMPLE" + default: + return "" + } +} + +type SearchFieldType int + +const ( + SearchFieldTypeInvalid = SearchFieldType(iota) + SearchFieldTypeNumeric + SearchFieldTypeTag + SearchFieldTypeText + SearchFieldTypeGeo + SearchFieldTypeVector + SearchFieldTypeGeoShape +) + +func (t SearchFieldType) String() string { + switch t { + case SearchFieldTypeInvalid: + return "" + case SearchFieldTypeNumeric: + return "NUMERIC" + case SearchFieldTypeTag: + return "TAG" + case SearchFieldTypeText: + return "TEXT" + case SearchFieldTypeGeo: + return "GEO" + case SearchFieldTypeVector: + return "VECTOR" + case SearchFieldTypeGeoShape: + return "GEOSHAPE" + default: + return "TEXT" + } +} + +type FieldSchema struct { + FieldName string + As string + FieldType SearchFieldType + Sortable bool + UNF bool + NoStem bool + NoIndex bool + PhoneticMatcher string + Weight float64 + Separator string + CaseSensitive bool + WithSuffixtrie bool + VectorArgs *FTVectorArgs + GeoShapeFieldType string + IndexEmpty bool + IndexMissing bool +} + +type FTVectorArgs struct { + FlatOptions *FTFlatOptions + HNSWOptions *FTHNSWOptions +} + +type FTFlatOptions struct { + Type string + Dim int + DistanceMetric string + InitialCapacity int + BlockSize int +} + +type FTHNSWOptions struct { + Type string + Dim int + DistanceMetric string + InitialCapacity int + MaxEdgesPerNode int + MaxAllowedEdgesPerNode int + EFRunTime int + Epsilon float64 +} + +type SpellCheckTerms struct { + Include bool + Exclude bool + Dictionary string +} + +type FTSearchFilter struct { + FieldName any + Min any + Max any +} + +type FTSearchGeoFilter struct { + FieldName string + Longitude float64 + Latitude float64 + Radius float64 + Unit string +} + +type FTSearchReturn struct { + FieldName string + As string +} + +type FTSearchSortBy struct { + FieldName string + Asc bool + Desc bool +} + +type FTDropIndexOptions struct { + DeleteDocs bool +} + +type FTExplainOptions struct { + Dialect string +} + +type IndexErrors struct { + IndexingFailures int `redis:"indexing failures"` + LastIndexingError string + LastIndexingErrorKey string +} + +type FTAttribute struct { + Identifier string + Attribute string + Type string + Weight float64 + Sortable bool + NoStem bool + NoIndex bool + UNF bool + PhoneticMatcher string + CaseSensitive bool + WithSuffixtrie bool +} + +type CursorStats struct { + GlobalIdle int + GlobalTotal int + IndexCapacity int + IndexTotal int +} + +type FieldStatistic struct { + Identifier string + Attribute string + IndexErrors IndexErrors +} + +type GCStats struct { + BytesCollected int `redis:"bytes_collected"` + TotalMsRun int `redis:"total_ms_run"` + TotalCycles int `redis:"total_cycles"` + AverageCycleTimeMs string `redis:"average_cycle_time_ms"` + LastRunTimeMs int `redis:"last_run_time_ms"` + GCNumericTreesMissed int `redis:"gc_numeric_trees_missed"` + GCBlocksDenied int `redis:"gc_blocks_denied"` +} + +type IndexDefinition struct { + KeyType string + Prefixes []string + DefaultScore float64 +} + +type FTInfoResult struct { + IndexErrors IndexErrors `redis:"Index Errors"` + Attributes []FTAttribute `redis:"attributes"` + BytesPerRecordAvg string `redis:"bytes_per_record_avg"` + Cleaning int `redis:"cleaning"` + CursorStats CursorStats `redis:"cursor_stats"` + DialectStats map[string]int `redis:"dialect_stats"` + DocTableSizeMB float64 `redis:"doc_table_size_mb"` + FieldStatistics []FieldStatistic `redis:"field statistics"` + GCStats GCStats `redis:"gc_stats"` + GeoshapesSzMB float64 `redis:"geoshapes_sz_mb"` + HashIndexingFailures int `redis:"hash_indexing_failures"` + IndexDefinition IndexDefinition `redis:"index_definition"` + IndexName string `redis:"index_name"` + IndexOptions []string `redis:"index_options"` + Indexing int `redis:"indexing"` + InvertedSzMB float64 `redis:"inverted_sz_mb"` + KeyTableSizeMB float64 `redis:"key_table_size_mb"` + MaxDocID int `redis:"max_doc_id"` + NumDocs int `redis:"num_docs"` + NumRecords int `redis:"num_records"` + NumTerms int `redis:"num_terms"` + NumberOfUses int `redis:"number_of_uses"` + OffsetBitsPerRecordAvg string `redis:"offset_bits_per_record_avg"` + OffsetVectorsSzMB float64 `redis:"offset_vectors_sz_mb"` + OffsetsPerTermAvg string `redis:"offsets_per_term_avg"` + PercentIndexed float64 `redis:"percent_indexed"` + RecordsPerDocAvg string `redis:"records_per_doc_avg"` + SortableValuesSizeMB float64 `redis:"sortable_values_size_mb"` + TagOverheadSzMB float64 `redis:"tag_overhead_sz_mb"` + TextOverheadSzMB float64 `redis:"text_overhead_sz_mb"` + TotalIndexMemorySzMB float64 `redis:"total_index_memory_sz_mb"` + TotalIndexingTime int `redis:"total_indexing_time"` + TotalInvertedIndexBlocks int `redis:"total_inverted_index_blocks"` + VectorIndexSzMB float64 `redis:"vector_index_sz_mb"` +} + +type FTInfoCmd struct { + baseCmd[FTInfoResult] +} + +// Ref: https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1143 +func parseFTInfo(data map[string]interface{}) (FTInfoResult, error) { + var ftInfo FTInfoResult + // Manually parse each field from the map + if indexErrors, ok := data["Index Errors"].([]interface{}); ok { + ftInfo.IndexErrors = IndexErrors{ + IndexingFailures: ToInteger(indexErrors[1]), + LastIndexingError: ToString(indexErrors[3]), + LastIndexingErrorKey: ToString(indexErrors[5]), + } + } + + if attributes, ok := data["attributes"].([]interface{}); ok { + for _, attr := range attributes { + if attrMap, ok := attr.([]interface{}); ok { + att := FTAttribute{} + for i := 0; i < len(attrMap); i++ { + if ToLower(ToString(attrMap[i])) == "attribute" { + att.Attribute = ToString(attrMap[i+1]) + continue + } + if ToLower(ToString(attrMap[i])) == "identifier" { + att.Identifier = ToString(attrMap[i+1]) + continue + } + if ToLower(ToString(attrMap[i])) == "type" { + att.Type = ToString(attrMap[i+1]) + continue + } + if ToLower(ToString(attrMap[i])) == "weight" { + att.Weight = ToFloat(attrMap[i+1]) + continue + } + if ToLower(ToString(attrMap[i])) == "nostem" { + att.NoStem = true + continue + } + if ToLower(ToString(attrMap[i])) == "sortable" { + att.Sortable = true + continue + } + if ToLower(ToString(attrMap[i])) == "noindex" { + att.NoIndex = true + continue + } + if ToLower(ToString(attrMap[i])) == "unf" { + att.UNF = true + continue + } + if ToLower(ToString(attrMap[i])) == "phonetic" { + att.PhoneticMatcher = ToString(attrMap[i+1]) + continue + } + if ToLower(ToString(attrMap[i])) == "case_sensitive" { + att.CaseSensitive = true + continue + } + if ToLower(ToString(attrMap[i])) == "withsuffixtrie" { + att.WithSuffixtrie = true + continue + } + + } + ftInfo.Attributes = append(ftInfo.Attributes, att) + } + } + } + + ftInfo.BytesPerRecordAvg = ToString(data["bytes_per_record_avg"]) + ftInfo.Cleaning = ToInteger(data["cleaning"]) + + if cursorStats, ok := data["cursor_stats"].([]interface{}); ok { + ftInfo.CursorStats = CursorStats{ + GlobalIdle: ToInteger(cursorStats[1]), + GlobalTotal: ToInteger(cursorStats[3]), + IndexCapacity: ToInteger(cursorStats[5]), + IndexTotal: ToInteger(cursorStats[7]), + } + } + + if dialectStats, ok := data["dialect_stats"].([]interface{}); ok { + ftInfo.DialectStats = make(map[string]int) + for i := 0; i < len(dialectStats); i += 2 { + ftInfo.DialectStats[ToString(dialectStats[i])] = ToInteger(dialectStats[i+1]) + } + } + + ftInfo.DocTableSizeMB = ToFloat(data["doc_table_size_mb"]) + + if fieldStats, ok := data["field statistics"].([]interface{}); ok { + for _, stat := range fieldStats { + if statMap, ok := stat.([]interface{}); ok { + ftInfo.FieldStatistics = append(ftInfo.FieldStatistics, FieldStatistic{ + Identifier: ToString(statMap[1]), + Attribute: ToString(statMap[3]), + IndexErrors: IndexErrors{ + IndexingFailures: ToInteger(statMap[5].([]interface{})[1]), + LastIndexingError: ToString(statMap[5].([]interface{})[3]), + LastIndexingErrorKey: ToString(statMap[5].([]interface{})[5]), + }, + }) + } + } + } + + if gcStats, ok := data["gc_stats"].([]interface{}); ok { + ftInfo.GCStats = GCStats{} + for i := 0; i < len(gcStats); i += 2 { + if ToLower(ToString(gcStats[i])) == "bytes_collected" { + ftInfo.GCStats.BytesCollected = ToInteger(gcStats[i+1]) + continue + } + if ToLower(ToString(gcStats[i])) == "total_ms_run" { + ftInfo.GCStats.TotalMsRun = ToInteger(gcStats[i+1]) + continue + } + if ToLower(ToString(gcStats[i])) == "total_cycles" { + ftInfo.GCStats.TotalCycles = ToInteger(gcStats[i+1]) + continue + } + if ToLower(ToString(gcStats[i])) == "average_cycle_time_ms" { + ftInfo.GCStats.AverageCycleTimeMs = ToString(gcStats[i+1]) + continue + } + if ToLower(ToString(gcStats[i])) == "last_run_time_ms" { + ftInfo.GCStats.LastRunTimeMs = ToInteger(gcStats[i+1]) + continue + } + if ToLower(ToString(gcStats[i])) == "gc_numeric_trees_missed" { + ftInfo.GCStats.GCNumericTreesMissed = ToInteger(gcStats[i+1]) + continue + } + if ToLower(ToString(gcStats[i])) == "gc_blocks_denied" { + ftInfo.GCStats.GCBlocksDenied = ToInteger(gcStats[i+1]) + continue + } + } + } + + ftInfo.GeoshapesSzMB = ToFloat(data["geoshapes_sz_mb"]) + ftInfo.HashIndexingFailures = ToInteger(data["hash_indexing_failures"]) + + if indexDef, ok := data["index_definition"].([]interface{}); ok { + ftInfo.IndexDefinition = IndexDefinition{ + KeyType: ToString(indexDef[1]), + Prefixes: ToStringSlice(indexDef[3]), + DefaultScore: ToFloat(indexDef[5]), + } + } + + ftInfo.IndexName = ToString(data["index_name"]) + ftInfo.IndexOptions = ToStringSlice(data["index_options"].([]interface{})) + ftInfo.Indexing = ToInteger(data["indexing"]) + ftInfo.InvertedSzMB = ToFloat(data["inverted_sz_mb"]) + ftInfo.KeyTableSizeMB = ToFloat(data["key_table_size_mb"]) + ftInfo.MaxDocID = ToInteger(data["max_doc_id"]) + ftInfo.NumDocs = ToInteger(data["num_docs"]) + ftInfo.NumRecords = ToInteger(data["num_records"]) + ftInfo.NumTerms = ToInteger(data["num_terms"]) + ftInfo.NumberOfUses = ToInteger(data["number_of_uses"]) + ftInfo.OffsetBitsPerRecordAvg = ToString(data["offset_bits_per_record_avg"]) + ftInfo.OffsetVectorsSzMB = ToFloat(data["offset_vectors_sz_mb"]) + ftInfo.OffsetsPerTermAvg = ToString(data["offsets_per_term_avg"]) + ftInfo.PercentIndexed = ToFloat(data["percent_indexed"]) + ftInfo.RecordsPerDocAvg = ToString(data["records_per_doc_avg"]) + ftInfo.SortableValuesSizeMB = ToFloat(data["sortable_values_size_mb"]) + ftInfo.TagOverheadSzMB = ToFloat(data["tag_overhead_sz_mb"]) + ftInfo.TextOverheadSzMB = ToFloat(data["text_overhead_sz_mb"]) + ftInfo.TotalIndexMemorySzMB = ToFloat(data["total_index_memory_sz_mb"]) + ftInfo.TotalIndexingTime = ToInteger(data["total_indexing_time"]) + ftInfo.TotalInvertedIndexBlocks = ToInteger(data["total_inverted_index_blocks"]) + ftInfo.VectorIndexSzMB = ToFloat(data["vector_index_sz_mb"]) + + return ftInfo, nil +} + +func (cmd *FTInfoCmd) from(res rueidis.RedisResult) { + if err := res.Error(); err != nil { + cmd.SetErr(err) + return + } + m, err := res.AsMap() + if err != nil { + cmd.SetErr(err) + return + } + anyM, err := res.ToAny() + if err != nil { + cmd.SetErr(err) + return + } + cmd.SetRawVal(anyM) + anyMap := make(map[string]any, len(m)) + for k, v := range m { + anyMap[k], err = v.ToAny() + if err != nil { + cmd.SetErr(err) + return + } + } + ftInfoResult, err := parseFTInfo(anyMap) + if err != nil { + cmd.SetErr(err) + return + } + cmd.SetVal(ftInfoResult) +} + +func newFTInfoCmd(res rueidis.RedisResult) *FTInfoCmd { + cmd := &FTInfoCmd{} + cmd.from(res) + return cmd +} + +type FTSpellCheckOptions struct { + Distance int + Terms *FTSpellCheckTerms + Dialect int +} + +type FTSpellCheckTerms struct { + Inclusion string // Either "INCLUDE" or "EXCLUDE" + Dictionary string + Terms []interface{} +} + +type SpellCheckResult struct { + Term string + Suggestions []SpellCheckSuggestion +} + +type SpellCheckSuggestion struct { + Score float64 + Suggestion string +} + +type FTSpellCheckCmd struct{ baseCmd[[]SpellCheckResult] } + +func (cmd *FTSpellCheckCmd) Val() []SpellCheckResult { + return cmd.val +} + +func (cmd *FTSpellCheckCmd) Result() ([]SpellCheckResult, error) { + return cmd.Val(), cmd.Err() +} + +func (cmd *FTSpellCheckCmd) from(res rueidis.RedisResult) { + if err := res.Error(); err != nil { + cmd.SetErr(err) + return + } + msg, err := res.ToMessage() + if err != nil { + cmd.SetErr(err) + return + } + if !(msg.IsMap() || msg.IsArray()) { + panic("res should be either map(RESP3) or array(RESP2)") + } + if msg.IsMap() { + // is RESP3 map + m, err := msg.ToMap() + if err != nil { + cmd.SetErr(err) + return + } + anyM, err := msg.ToAny() + if err != nil { + cmd.SetErr(err) + return + } + cmd.SetRawVal(anyM) + spellCheckResults := []SpellCheckResult{} + result := m["results"] + resultMap, err := result.ToMap() + if err != nil { + cmd.SetErr(err) + return + } + for k, v := range resultMap { + result := SpellCheckResult{} + result.Term = k + suggestions, err := v.ToArray() + if err != nil { + cmd.SetErr(err) + return + } + for _, suggestion := range suggestions { + // map key: suggestion, score + sugMap, err := suggestion.ToMap() + if err != nil { + cmd.SetErr(err) + return + } + for _k, _v := range sugMap { + score, err := _v.ToFloat64() + if err != nil { + cmd.SetErr(err) + return + } + result.Suggestions = append(result.Suggestions, SpellCheckSuggestion{Suggestion: _k, Score: score}) + } + } + spellCheckResults = append(spellCheckResults, result) + } + cmd.SetVal(spellCheckResults) + return + } + // is RESP2 array + arr, err := msg.ToArray() + if err != nil { + cmd.SetErr(err) + return + } + anyRes, err := msg.ToAny() + if err != nil { + cmd.SetErr(err) + return + } + cmd.SetRawVal(anyRes) + AnyArr := make([]any, 0, len(arr)) + for _, e := range arr { + anyE, err := e.ToAny() + if err != nil { + cmd.SetErr(err) + return + } + AnyArr = append(AnyArr, anyE) + } + result, err := parseFTSpellCheck(AnyArr) + if err != nil { + cmd.SetErr(err) + return + } + cmd.SetVal(result) +} + +func newFTSpellCheckCmd(res rueidis.RedisResult) *FTSpellCheckCmd { + cmd := &FTSpellCheckCmd{} + cmd.from(res) + return cmd +} + +func parseFTSpellCheck(data []interface{}) ([]SpellCheckResult, error) { + results := make([]SpellCheckResult, 0, len(data)) + + for _, termData := range data { + termInfo, ok := termData.([]interface{}) + if !ok || len(termInfo) != 3 { + return nil, fmt.Errorf("invalid term format") + } + + term, ok := termInfo[1].(string) + if !ok { + return nil, fmt.Errorf("invalid term format") + } + + suggestionsData, ok := termInfo[2].([]interface{}) + if !ok { + return nil, fmt.Errorf("invalid suggestions format") + } + + suggestions := make([]SpellCheckSuggestion, 0, len(suggestionsData)) + for _, suggestionData := range suggestionsData { + suggestionInfo, ok := suggestionData.([]interface{}) + if !ok || len(suggestionInfo) != 2 { + return nil, fmt.Errorf("invalid suggestion format") + } + + scoreStr, ok := suggestionInfo[0].(string) + if !ok { + return nil, fmt.Errorf("invalid suggestion score format") + } + score, err := strconv.ParseFloat(scoreStr, 64) + if err != nil { + return nil, fmt.Errorf("invalid suggestion score value") + } + + suggestion, ok := suggestionInfo[1].(string) + if !ok { + return nil, fmt.Errorf("invalid suggestion format") + } + + suggestions = append(suggestions, SpellCheckSuggestion{ + Score: score, + Suggestion: suggestion, + }) + } + + results = append(results, SpellCheckResult{ + Term: term, + Suggestions: suggestions, + }) + } + + return results, nil +} + +type Document struct { + ID string + Score *float64 + Payload *string + SortKey *string + Fields map[string]string +} + +type FTSearchResult struct { + Total int + Docs []Document +} + +type FTSearchOptions struct { + NoContent bool + Verbatim bool + NoStopWords bool + WithScores bool + WithPayloads bool + WithSortKeys bool + Filters []FTSearchFilter + GeoFilter []FTSearchGeoFilter + InKeys []interface{} + InFields []interface{} + Return []FTSearchReturn + Slop int + Timeout int + InOrder bool + Language string + Expander string + Scorer string + ExplainScore bool + Payload string + SortBy []FTSearchSortBy + SortByWithCount bool + LimitOffset int + Limit int + Params map[string]interface{} + DialectVersion int +} + +type FTSearchCmd struct { + baseCmd[FTSearchResult] + options *FTSearchOptions +} + +// Ref: https://github.com/redis/go-redis/blob/v9.7.0/search_commands.go#L1541 +func (cmd *FTSearchCmd) from(res rueidis.RedisResult) { + if err := res.Error(); err != nil { + cmd.SetErr(err) + return + } + anyRes, err := res.ToAny() + if err != nil { + cmd.SetErr(err) + return + } + cmd.SetRawVal(anyRes) + msg, err := res.ToMessage() + if err != nil { + cmd.SetErr(err) + return + } + if !(msg.IsMap() || msg.IsArray()) { + panic("res should be either map(RESP3) or array(RESP2)") + } + if msg.IsMap() { + // is RESP3 map + m, err := msg.ToMap() + if err != nil { + cmd.SetErr(err) + return + } + totalResultsMsg, ok := m["total_results"] + if !ok { + cmd.SetErr(fmt.Errorf(`result map should contain key "total_results"`)) + } + totalResults, err := totalResultsMsg.AsInt64() + if err != nil { + cmd.SetErr(err) + return + } + resultsMsg, ok := m["results"] + if !ok { + cmd.SetErr(fmt.Errorf(`result map should contain key "results"`)) + } + resultsArr, err := resultsMsg.ToArray() + if err != nil { + cmd.SetErr(err) + return + } + ftSearchResult := FTSearchResult{Total: int(totalResults), Docs: make([]Document, 0, len(resultsArr))} + for _, result := range resultsArr { + resultMap, err := result.ToMap() + if err != nil { + cmd.SetErr(err) + return + } + doc := Document{} + for k, v := range resultMap { + switch k { + case "id": + idStr, err := v.ToString() + if err != nil { + cmd.SetErr(err) + return + } + doc.ID = idStr + case "extra_attributes": + // doc.ID = resultArr[i+1].String() + strMap, err := v.AsStrMap() + if err != nil { + cmd.SetErr(err) + return + } + doc.Fields = strMap + case "score": + score, err := v.AsFloat64() + if err != nil { + cmd.SetErr(err) + return + } + doc.Score = &score + case "payload": + if !v.IsNil() { + payload, err := v.ToString() + if err != nil { + cmd.SetErr(err) + return + } + doc.Payload = &payload + } + case "sortkey": + if !v.IsNil() { + sortKey, err := v.ToString() + if err != nil { + cmd.SetErr(err) + return + } + doc.SortKey = &sortKey + } + } + } + + ftSearchResult.Docs = append(ftSearchResult.Docs, doc) + } + cmd.SetVal(ftSearchResult) + return + } + // is RESP2 array + data, err := msg.ToArray() + if err != nil { + cmd.SetErr(err) + return + } + if len(data) < 1 { + cmd.SetErr(fmt.Errorf("unexpected search result format")) + return + } + total, err := data[0].AsInt64() + if err != nil { + cmd.SetErr(err) + return + } + var results []Document + for i := 1; i < len(data); { + docID, err := data[i].ToString() + if err != nil { + cmd.SetErr(fmt.Errorf("invalid total results format: %w", err)) + return + } + doc := Document{ + ID: docID, + Fields: make(map[string]string), + } + i++ + if cmd.options != nil { + if cmd.options.NoContent { + results = append(results, doc) + continue + } + if cmd.options.WithScores && i < len(data) { + scoreStr, err := data[i].ToString() + if err != nil { + cmd.SetErr(fmt.Errorf("invalid score format: %w", err)) + return + } + score, err := strconv.ParseFloat(scoreStr, 64) + if err != nil { + cmd.SetErr(fmt.Errorf("invalid score format: %w", err)) + return + } + doc.Score = &score + i++ + } + if cmd.options.WithPayloads && i < len(data) { + payload, err := data[i].ToString() + if err != nil { + cmd.SetErr(fmt.Errorf("invalid payload format: %w", err)) + return + } + doc.Payload = &payload + i++ + } + if cmd.options.WithSortKeys && i < len(data) { + sortKey, err := data[i].ToString() + if err != nil { + cmd.SetErr(fmt.Errorf("invalid payload format: %w", err)) + return + } + doc.SortKey = &sortKey + i++ + } + } + if i < len(data) { + fields, err := data[i].ToArray() + if err != nil { + cmd.SetErr(fmt.Errorf("invalid document fields format: %w", err)) + return + } + for j := 0; j < len(fields); j += 2 { + key, err := fields[j].ToString() + if err != nil { + cmd.SetErr(fmt.Errorf("invalid field key format: %w", err)) + return + } + value, err := fields[j+1].ToString() + if err != nil { + cmd.SetErr(fmt.Errorf("invalid field value format: %w", err)) + return + } + doc.Fields[key] = value + } + i++ + } + results = append(results, doc) + } + cmd.SetVal(FTSearchResult{ + Total: int(total), + Docs: results, + }) +} + +func newFTSearchCmd(res rueidis.RedisResult, options *FTSearchOptions) *FTSearchCmd { + cmd := &FTSearchCmd{options: options} + cmd.from(res) + return cmd +} + +type FTSynUpdateOptions struct { + SkipInitialScan bool +} + +type FTSynDumpCmd struct { + baseCmd[[]FTSynDumpResult] +} + +func (cmd *FTSynDumpCmd) from(res rueidis.RedisResult) { + if err := res.Error(); err != nil { + cmd.SetErr(err) + return + } + anyRes, err := res.ToAny() + if err != nil { + cmd.SetErr(err) + return + } + cmd.SetRawVal(anyRes) + msg, err := res.ToMessage() + if err != nil { + cmd.SetErr(err) + return + } + if !(msg.IsMap() || msg.IsArray()) { + panic("res should be either map(RESP3) or array(RESP2)") + } + if msg.IsMap() { + // is RESP3 map + m, err := msg.ToMap() + if err != nil { + cmd.SetErr(err) + return + } + results := make([]FTSynDumpResult, 0, len(m)) + for term, synMsg := range m { + synonyms, err := synMsg.AsStrSlice() + if err != nil { + cmd.SetErr(err) + return + } + results = append(results, FTSynDumpResult{Term: term, Synonyms: synonyms}) + } + cmd.SetVal(results) + return + } + // is RESP2 array + arr, err := msg.ToArray() + if err != nil { + cmd.SetErr(err) + return + } + results := make([]FTSynDumpResult, 0, len(arr)/2) + for i := 0; i < len(arr); i += 2 { + term, err := arr[i].ToString() + if err != nil { + cmd.SetErr(err) + return + } + synonyms, err := arr[i+1].AsStrSlice() + if err != nil { + cmd.SetErr(err) + return + } + results = append(results, FTSynDumpResult{ + Term: term, + Synonyms: synonyms, + }) + } + cmd.SetVal(results) +} + +func newFTSynDumpCmd(res rueidis.RedisResult) *FTSynDumpCmd { + cmd := &FTSynDumpCmd{} + cmd.from(res) + return cmd +} + +type FTSynDumpResult struct { + Term string + Synonyms []string +} diff --git a/rueidiscompat/pipeline.go b/rueidiscompat/pipeline.go index b985be56..15e0a39e 100644 --- a/rueidiscompat/pipeline.go +++ b/rueidiscompat/pipeline.go @@ -2845,6 +2845,173 @@ func (c *Pipeline) JSONType(ctx context.Context, key, path string) *JSONSliceCmd return ret } +func (c *Pipeline) FT_List(ctx context.Context) *StringSliceCmd { + ret := c.comp.FT_List(ctx) + c.rets = append(c.rets, ret) + return ret +} +func (c *Pipeline) FTAggregate(ctx context.Context, index string, query string) *MapStringInterfaceCmd { + ret := c.comp.FTAggregate(ctx, index, query) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTAggregateWithArgs(ctx context.Context, index string, query string, options *FTAggregateOptions) *AggregateCmd { + ret := c.comp.FTAggregateWithArgs(ctx, index, query, options) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTAliasAdd(ctx context.Context, index string, alias string) *StatusCmd { + ret := c.comp.FTAliasAdd(ctx, index, alias) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTAliasDel(ctx context.Context, alias string) *StatusCmd { + ret := c.comp.FTAliasDel(ctx, alias) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTAliasUpdate(ctx context.Context, index string, alias string) *StatusCmd { + ret := c.comp.FTAliasUpdate(ctx, index, alias) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTAlter(ctx context.Context, index string, skipInitalScan bool, definition []interface{}) *StatusCmd { + ret := c.comp.FTAlter(ctx, index, skipInitalScan, definition) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTConfigGet(ctx context.Context, option string) *MapMapStringInterfaceCmd { + ret := c.comp.FTConfigGet(ctx, option) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTConfigSet(ctx context.Context, option string, value interface{}) *StatusCmd { + ret := c.comp.FTConfigSet(ctx, option, value) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTCreate(ctx context.Context, index string, options *FTCreateOptions, schema ...*FieldSchema) *StatusCmd { + ret := c.comp.FTCreate(ctx, index, options, schema...) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTCursorDel(ctx context.Context, index string, cursorId int) *StatusCmd { + ret := c.comp.FTCursorDel(ctx, index, cursorId) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTCursorRead(ctx context.Context, index string, cursorId int, count int) *MapStringInterfaceCmd { + ret := c.comp.FTCursorRead(ctx, index, cursorId, count) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTDictAdd(ctx context.Context, dict string, term ...interface{}) *IntCmd { + ret := c.comp.FTDictAdd(ctx, dict, term...) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTDictDel(ctx context.Context, dict string, term ...interface{}) *IntCmd { + ret := c.comp.FTDictDel(ctx, dict, term...) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTDictDump(ctx context.Context, dict string) *StringSliceCmd { + ret := c.comp.FTDictDump(ctx, dict) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTDropIndex(ctx context.Context, index string) *StatusCmd { + ret := c.comp.FTDropIndex(ctx, index) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTDropIndexWithArgs(ctx context.Context, index string, options *FTDropIndexOptions) *StatusCmd { + ret := c.comp.FTDropIndexWithArgs(ctx, index, options) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTExplain(ctx context.Context, index string, query string) *StringCmd { + ret := c.comp.FTExplain(ctx, index, query) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTExplainWithArgs(ctx context.Context, index string, query string, options *FTExplainOptions) *StringCmd { + ret := c.comp.FTExplainWithArgs(ctx, index, query, options) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTInfo(ctx context.Context, index string) *FTInfoCmd { + ret := c.comp.FTInfo(ctx, index) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTSpellCheck(ctx context.Context, index string, query string) *FTSpellCheckCmd { + ret := c.comp.FTSpellCheck(ctx, index, query) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTSpellCheckWithArgs(ctx context.Context, index string, query string, options *FTSpellCheckOptions) *FTSpellCheckCmd { + ret := c.comp.FTSpellCheckWithArgs(ctx, index, query, options) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTSearch(ctx context.Context, index string, query string) *FTSearchCmd { + ret := c.comp.FTSearch(ctx, index, query) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTSearchWithArgs(ctx context.Context, index string, query string, options *FTSearchOptions) *FTSearchCmd { + ret := c.comp.FTSearchWithArgs(ctx, index, query, options) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTSynDump(ctx context.Context, index string) *FTSynDumpCmd { + ret := c.comp.FTSynDump(ctx, index) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTSynUpdate(ctx context.Context, index string, synGroupId interface{}, terms []interface{}) *StatusCmd { + ret := c.comp.FTSynUpdate(ctx, index, synGroupId, terms) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTSynUpdateWithArgs(ctx context.Context, index string, synGroupId interface{}, options *FTSynUpdateOptions, terms []interface{}) *StatusCmd { + ret := c.comp.FTSynUpdateWithArgs(ctx, index, synGroupId, options, terms) + c.rets = append(c.rets, ret) + return ret +} + +func (c *Pipeline) FTTagVals(ctx context.Context, index string, field string) *StringSliceCmd { + ret := c.comp.FTTagVals(ctx, index, field) + c.rets = append(c.rets, ret) + return ret +} + // Len returns the number of queued commands. func (c *Pipeline) Len() int { return len(c.comp.client.(*proxy).cmds) diff --git a/rueidiscompat/util.go b/rueidiscompat/util.go new file mode 100644 index 00000000..b91740f0 --- /dev/null +++ b/rueidiscompat/util.go @@ -0,0 +1,146 @@ +// Copyright (c) 2013 The github.com/go-redis/redis Authors. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package rueidiscompat + +import ( + "net" + "strconv" + "strings" +) + +func ToLower(s string) string { + if isLower(s) { + return s + } + + b := make([]byte, len(s)) + for i := range b { + c := s[i] + if c >= 'A' && c <= 'Z' { + c += 'a' - 'A' + } + b[i] = c + } + return BytesToString(b) +} + +func BytesToString(b []byte) string { + return string(b) +} + +func StringToBytes(s string) []byte { + return []byte(s) +} + +func isLower(s string) bool { + for i := 0; i < len(s); i++ { + c := s[i] + if c >= 'A' && c <= 'Z' { + return false + } + } + return true +} + +func ReplaceSpaces(s string) string { + // Pre-allocate a builder with the same length as s to minimize allocations. + // This is a basic optimization; adjust the initial size based on your use case. + var builder strings.Builder + builder.Grow(len(s)) + + for _, char := range s { + if char == ' ' { + // Replace space with a hyphen. + builder.WriteRune('-') + } else { + // Copy the character as-is. + builder.WriteRune(char) + } + } + + return builder.String() +} + +func GetAddr(addr string) string { + ind := strings.LastIndexByte(addr, ':') + if ind == -1 { + return "" + } + + if strings.IndexByte(addr, '.') != -1 { + return addr + } + + if addr[0] == '[' { + return addr + } + return net.JoinHostPort(addr[:ind], addr[ind+1:]) +} + +func ToInteger(val interface{}) int { + switch v := val.(type) { + case int: + return v + case int64: + return int(v) + case string: + i, _ := strconv.Atoi(v) + return i + default: + return 0 + } +} + +func ToFloat(val interface{}) float64 { + switch v := val.(type) { + case float64: + return v + case string: + f, _ := strconv.ParseFloat(v, 64) + return f + default: + return 0.0 + } +} + +func ToString(val interface{}) string { + if str, ok := val.(string); ok { + return str + } + return "" +} + +func ToStringSlice(val interface{}) []string { + if arr, ok := val.([]interface{}); ok { + result := make([]string, len(arr)) + for i, v := range arr { + result[i] = ToString(v) + } + return result + } + return nil +}