我想在redissearch中进行模糊搜索。
名称是一个文本字段。当我尝试的时候
FT.SEARCH panda_beta.mp2c.job_store.json:index '@name_fts:*店员* @pk:{16509}' RETURN 2 pk company_id LIMIT 0 1
但我找不到结果。
当我尝试set name='大员大学路创智天地店'时
并搜索
FT.SEARCH panda_beta.mp2c.job_store.json:index '@name_fts:*大员* @pk:{16509}' RETURN 2 pk company_id LIMIT 0 1```
the result is output.Why? How can I resolve it?
对于中文,您必须在创建索引时指定语言。
查看
FT.CREATE
文档:
语言 {default_lang}
如果设置,则指示索引中文档的默认语言。默认是英文。
LANGUAGE_FIELD {lang_attribute}
是设置为文档语言的文档属性。
词干分析器用于索引期间提供的语言。如果发送不支持的语言,该命令将返回错误。支持的语言有阿拉伯语、巴斯克语、加泰罗尼亚语、丹麦语、荷兰语、英语、芬兰语、法语、德语、希腊语、匈牙利语、印度尼西亚语、爱尔兰语、意大利语、立陶宛语、尼泊尔语、挪威语、葡萄牙语、罗马尼亚语、俄语、西班牙语、瑞典语、泰米尔语、土耳其语和中文。
添加中文文档时,将索引器设置为 LANGUAGE chinese 以正确标记术语。如果您使用默认语言,则会根据标点符号和空格提取搜索词。中文分词器使用分段算法(通过 Friso),该算法对文本进行分段并根据预定义的字典进行检查。请参阅词干获取更多信息。
还有
FT.SEARCH
文档:
语言{语言}
在搜索查询扩展期间使用所提供语言的词干分析器。如果查询中文文档,请设置为 chinese 以正确标记查询术语。默认为英语。如果发送不支持的语言,该命令将返回错误。请参阅 FT.CREATE 了解语言列表。