我有一个带有TEXT列的表,其中的内容只是CSV编号的字符串。示例“,1,76,77,115,”每个字符串可以包含任意数量的数字。
我正在尝试设置全文索引,以便我可以快速搜索此列。这非常有效。而不是使用
运行查询where MY_COL LIKE '%,77,%' and MY_COL LIKE '%,115,%'
我能做到
where CONTAINS(MY_COL,'77 and 115')
但是,当我尝试搜索单个字符时,它不起作用。
where CONTAINS(MY_COL,'1')
但我知道应该有记录返回!我很快发现我需要编辑Noise文件并重建索引。但即便这样做,它仍然无效。
答案 0 :(得分:2)
使用关系数据库会受到伤害。
使用正确的架构。将值存储在不同的行中或使用列的数组数据类型。
这将使解决问题变得微不足道。
答案 1 :(得分:0)
我修复了自己的问题,虽然我不确定是什么修复它。
我放弃了我的桌子并填充了一个新的(我的程序进行批处理)并创建了一个新的全文索引。也许我没有耐心让索引完全重建。
答案 2 :(得分:0)
同意。 12,15,33如何使用全文搜索1而不返回该记录?使用实际的表模式来完成此任务。