Я нахожусь в процессе изучения RediSearch, и я подумал, что стоит попробовать функцию агрегации, но столкнулся с препятствием.
У меня не получается добиться хорошего результата.
В целях тестирования я создал базовый индекс/схему следующим образом:
FT.CREATE test SCHEMA field TEXT
FT.ADD test 1A 1 FIELDS field hello
FT.ADD test 2A 1 FIELDS field hello
FT.ADD test 3A 1 FIELDS field hello
FT.ADD test 4A 1 FIELDS field world
Далее я выдал следующий запрос:
FT.AGGREGATE test "*" GROUPBY 1 @field REDUCE COUNT 0 AS agg
Я ожидал, что получу результат, указывающий, что hello
встречается три раза, а world
— один раз... но вместо этого я получаю следующий результат:
1) (integer) 1
2) 1) "field"
2) (nil)
3) "agg"
4) "4"
Я думал, что это было довольно прямолинейно... но я явно делаю что-то не так.
Кроме того, следующий вывод команды MODULE LIST
:
1) 1) "name"
2) "ft"
3) "ver"
4) (integer) 10300
2) 1) "name"
2) "ReJSON"
3) "ver"
4) (integer) 10001
Любая помощь будет супер.
Спасибо!
SORTABLE
во время создания схемы. - person Itamar Haber   schedule 31.10.2018SORTABLE
. Создание свойстваSORTABLE
, похоже, помогло. Я что-то пропустил в документации? - person Tombatron   schedule 31.10.2018