搜索结果少于预期,原因是什么?

最后更新于 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.CONFIGFT.SEARCH 命令的 TIMEOUT 参数设置)。默认超时时间为 500 毫秒。

参考资料

查看文档了解更多关于超时配置的信息。