搜索操作结果少于预期,为什么?
最后更新于 2024 年 3 月 22 日
问题
搜索操作的结果少于预期;为什么?
回答
在以下示例中,我们描述了并非所有文档都已索引的情况。
FT.CREATE location_idx ON HASH PREFIX 1 location: SCHEMA Name AS name TAG
HSET location:1 Name Rome Population 3000000
HSET location:2 Name Milan Population 3500000
HSET location:3 Name Naples Population ""
9) num_docs
10) "3"
FT.CREATE location_idx ON HASH PREFIX 1 location: SCHEMA Name AS name TAG Population AS population NUMERIC SORTABLE
9) num_docs
10) "2"
检查 `FT.INFO` 中的 `hash_indexing_failures`,错误可能阻止数据被索引。在上面的示例中,当强制执行 `NUMERIC` 字段时,如果在哈希中存储了字符串,则整个哈希将不会被索引。
问题也可能是由于超时导致的,超时会静默地中断命令并返回部分结果。尝试增加超时时间(通过 `FT.CONFIG` 或通过 `FT.SEARCH` 的 `TIMEOUT` 参数)。默认超时时间为 500 毫秒。
参考
查看 文档 以了解有关超时配置的更多信息。