我有一个'资产'表,其中包含'AssetDescription'列。它的每一行都有一些单词/句子,用逗号分隔。
第1行: - 鲜花,全彩,女性,趋势
第2行: - 宝宝闻鲜花,心脏
现在,如果我提交搜索查询,如: -
select * from Asset where contains(AssetDescription,'flower')
它什么都不返回。
我还有一个表'SearchData',其列为'SearchCol',具有与'Asset'表中提到的类似的行。
现在,如果放一个搜索查询,如: -
select * from SearchData where contains(SearchCol,'flower')
它返回两行。
问题: -
清除对我的问题的评论疑问: -
表'SearchData'的行数超过100,000,表'资产'也是如此。
这两个表格不相同。但是它们各自的列包含一些行,这些行包含由逗号分隔的一组单词。 (所以这两个栏目中的花朵,花朵等都很多。)
两个表(资产和搜索数据)的索引的屏幕截图: -
答案 0 :(得分:2)
如果您阅读CONTAINS上的文章,您会在搜索时看到
'花'被视为简单术语
匹配确切的字词或短语
然而
'花'被视为前缀术语
指定以指定的开头的单词或短语的匹配 文本
并将匹配鲜花'在你的数据中。
那么,您确定两个表中的数据是相同的,还是资产'包含鲜花'和' SearchData'包含'花'?
答案 1 :(得分:2)
它可能与您的全文索引配置有关。 你能在索引和目录上发布一些信息吗?
答案 2 :(得分:0)
GOT THE SOLUTION。
感谢所有人,特别是DIEGO的支持。
允许全文搜索(FTS)正常工作: -
DONE。 :)