问题描述
产品表product目前有记录20多万条,在productname(商品名称),summary(商品描述),intorduction(详细介绍)三个字段是建立全文索引,本人的开发及配置环境是windows2003sp2,vs.net2005sp1,sqlserver2005sp2,此三个字段都是英文的,按英文的习惯要得到需要的西方结果集。现有以下问题,请大家帮忙看下。1:词意问题,针对一个词。如用户搜索的词是soft,则只查询和soft有关的记录,比如搜索结果中包含software是不需要的结果集。2:词的排列组合问题。假如用户输入的是"RedWovenBeadsAcrylicCovered",我的搜索方法是将词进行分割,分的词是以下的,"RedWovenBeadsAcrylicCovered","RedWoven","RedBeads","WovenBeads","AcrylicCovered","Red","Woven","Beads",即所有单词,第一个词和第二个词的组合,第一个和第三的组合,第二第三的组合,第三之后的所有词当成一个词,第一个词,第二个词,第三个词。对此种算法,大家没有什么好的意见,大家在做只针对英文的查询是如果设置规则的?3:优先级问题,即按productname,summary,introduction的优先级来显示最佳匹配效果。假设有以下记录,用户搜索的是beadsproductidproductnamesummaryintroduction3beadscolorbutifulthisgoodsisverybetifule....2freeshipredbeadsBlackWovenBeads,AcrylicCoveredWithWool;22mmin1MixedColorsmixedBlackWovenBeads,AcrylicCoveredWithWool;22mmin则先显示顺序为3,2,1