赞
踩
目录
运行时配置
RedisSearch支持一些运行时配置选项,这些选项应该在加载模块时确定。随着时间的推移,更多选项将被增加进来。
通常,传递配置选项的方法是在命令行中的--loadmodule参数、Redis配置文件中的loadmodule配置指令或MODULE LOAD命令之后追加参数。例如:
redis.conf文件中:
loadmodule redisearch.so OPT1 OPT2
redis交互模式
127.0.0.6379> MODULE load redisearch.so OPT1 OPT2
Shell命令行
$ redis-server --loadmodule ./redisearch.so OPT1 OPT2
从v1.4.1开始,FT.CONFIG允许在运行时设置一些选项。此外,该命令还可用于查看当前运行时配置选项。
允许运行搜索查询的最长时间(以毫秒为单位)。如果超过此时间,将返回到目前为止the top results accumulated(不知道怎么翻译好... ),或者返回一个错误,具体取决于使用on_TIMEOUT设置的策略。可以通过将超时设置为0来禁用超时。
!!! 注:超时仅指查询时间。解析查询不计入超时。如果在搜索过程中未达到超时,请完成加载文档内容或reducers等操作,然后继续
默认:500 毫秒
例子:
$ redis-server --loadmodule ./redisearch.so TIMEOUT 100
超过超时设置的查询的响应策略。
该策略可以是以下策略之一:
默认: 返回(return)
例如:
$ redis-server --loadmodule ./redisearch.so ON_TIMEOUT fail
(safemode)如果在参数列表中体现,RedisSearch会关闭并发查询处理,并在单线程模式下工作。
这样处理在数据一致性要求很高的情况下非常重要,可以避免在查询文档时删除文档可能会导致暂时不一致的结果。
默认:off (不体现)
例子:
$ redis-server --loadmodule ./redisearch.so SAFEMODE
(CONCURRENT_WRITE_MODE)
如果启用,将同时执行写查询。目前,只有标记化部分是并发执行的。实际的写操作仍然需要持有Redis全局锁。
默认:disable
例子:
$ redis-server --loadmodule ./redisearch.so CONCURRENT_WRITE_MODE
(扩展加载?字面上是这个意思)
如果存在,我们将尝试从指定的文件路径加载搜索扩展动态库。
默认:不使用
例子:
$ redis-server --loadmodule ./redisearch.so EXTLOAD ./ext/my_extension.so
允许前缀查询的最小字符数(例如hel*)。将其设置为1会影响性能。
默认:2
例子:
$ redis-server --loadmodule ./redisearch.so MINPREFIX 3
允许查询前缀的最大扩展数。设置太高可能会导致性能问题。如果达到MaxPrefixeExpansions,查询将继续执行第一个获取的结果。
默认:200
例子:
$ redis-server --loadmodule ./redisearch.so MAXPREFIXEXPANSIONS 1000
注意:MAXPREFIXEXPANSIONS 替换了原有的 MAXEXPANSIONS,因为Redis官方认为两者是同义词。
(最大文档)
如果使用限制,FT.SEARCH命令返回的最大结果数。将值设置为-1将取消限制。
默认:1000000
例子:
$ redis-server --loadmodule ./redisearch.so MAXSEARCHRESULTS 3000000
如果使用此限制,FT.AGGREGATE命令返回的最大结果数。将值设置为-1将取消限制。
默认:unlimited
例子:
$ redis-server --loadmodule ./redisearch.so MAXAGGREGATERESULTS 3000000
用来从指定位置加载中文字典。
默认:不设置
例子:
$ redis-server --loadmodule ./redisearch.so FRISOINI /opt/dict/friso.ini
在cursor api中设置的最大idle时间(单位:毫秒)
默认:300000
例子:
$ redis-server --loadmodule ./redisearch.so CURSOR_MAX_IDLE 500000
注:1.6版本新加入
启用/禁用Redis命令过滤器(filter)。过滤器优化哈希的部分更新,如果更改的字段不是架构的一部分,则可以避免哈希的重新索引。
需要注意:每个Redis命令都会执行filter。虽然filter经过了优化,但仍会增加延迟。因此,这种配置最好用于非索引字段经常更新的部分索引文档(partial indexed documents)。
默认:0
例子:
$ redis-server --loadmodule ./redisearch.so PARTIAL_INDEXED_DOCS 1
加入版本:2.0.0
用于设置清理索引的内部gc的垃圾收集块大小。
默认:100
例子:
$ redis-server --loadmodule ./redisearch.so GC_SCANSIZE 10
垃圾收集器(GC)的策略。支持的政策包括:
默认:fork
例子:
$ redis-server --loadmodule ./redisearch.so GC_POLICY LEGACY
如果设置了,将关闭所有索引的垃圾收集。此功能主要用于调试和测试,不建议用户开启此设置。
默认:不设置
例子:
$ redis-server --loadmodule ./redisearch.so NOGC
两次连续fork GC运行之间的间隔(单位:秒)
默认:30(秒)
$ redis-server --loadmodule ./redisearch.so GC_POLICY FORK FORK_GC_RUN_INTERVAL 60
如果出现故障,RediSearch将重试运行fork GC的时间间隔(以秒为单位)。通常,当redis fork api设置为不允许同时创建多个fork时,此功能会报错。
默认:5
例子:
$ redis-server --loadmodule ./redisearch.so GC_POLICY FORK FORK_GC_RETRY_INTERVAL 10
Threshold即门槛(阈值),所以:fork GC仅在未清理的文档数超过此阈值时才开始清理,否则将跳过此运行。强烈建议将其更改为比100更高的数字。
默认:100
例子:
$ redis-server --loadmodule ./redisearch.so GC_POLICY FORK FORK_GC_CLEAN_THRESHOLD 10000
很特殊的配置,用来升级v1.* RediSearch索引,在每个'legacy index'中都需要配合加上,配合index名称和index描述。详细请见ft.create.api。
例子:
$ redis-server --loadmodule ./redisearch.so UPGRADE_INDEX idx PREFIX 1 tt LANGUAGE french LANGUAGE_FIELD MyLang SCORE 0.5 SCORE_FIELD MyScore PAYLOAD_FIELD MyPayload UPGRADE_INDEX idx1
用于连接到其它分片的全局oss群集密码。
例子:
$ redis-server --loadmodule ./redisearch.so OSS_GLOBAL_PASSWORD password
被FT.CREATE, FT.AGGREGATE, FT.EXPLAIN, FT.EXPLAINCLI, and FT.SPECLCHECK使用的dialect。
默认:1
例子:
$ redis-server --loadmodule ./redisearch.so DEFAULT_DIALECT 2
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。