FT.ADD
FT.ADD {index} {docId} {score}
[NOSAVE]
[REPLACE [PARTIAL]]
[LANGUAGE {language}]
[PAYLOAD {payload}]
[IF {condition}]
FIELDS {field} {value} [{field} {value}...]
上一篇博客里讲了FT.CREATE,提到index是基础,那么为什么是基础呢,以为接下来的每条命令都会用到创建过的index。
基本使用:
ft.add dept dept1 1 fields id 001 name dept001
代表向index dept
添加一条document
,这条document
的id
为dept1
,score
为1,字段id
的值为数字1,name
为“dept001”
。
选项:
docId: 这里说是id并不代表只能说数字,可以是字符串。作为document的唯一标识。
score: 评分,类似于zset里的score,范围从0~1,如果不知道打多少可以默认打1。
NOSAVE:如果开启该选项我们不会在索引时保存真正的document。
REPLACE:更新或者插入,删除原本的document
PARTIAL (only applicable with REPLACE):在replace的时候指定对应的列
FIELDS: 字段对应create index时的schema
PAYLOAD {payload}: 在查询的时候使用,还不是太理解。。。
IF {condition}: 配合replace使用,对判断语句进行判断后决定是否生效replace e.g. FT.ADD idx doc 1 REPLACE IF "@timestamp < 23323234234".
LANGUAGE language: 指定语言,可以是中文:chinese
FT.ADDHASH
FT.ADDHASH {index} {docId} {score} [LANGUAGE language] [REPLACE]
addhash
我觉得是真正把redis和redisearch连起来的地方,addhash
可以添加一个redis
的hash key
。这几个选项和上面的差不多就不赘述了。
例子:
hset dept2 id 002 name dept002
ft.addhash dept dept2 1
FT.ALTER
FT.ALTER {index} SCHEMA ADD {field} {options} ...
修改schema的字段结构。注意新add的会被重新索引,原本存在的不会改变。