0

我有一个全文索引的表,我使用FREETEXT. 该表是从其他具有恒定数据的表中填充的,很少更改。现在有几百万行。

表结构:

ID (identity), PK
Text (varchar), FT IX
ForeignID (int) -- of the original ID in it's original table

我对结果不满意,因为有时一个单词重复了太多次,因此该行被引擎排名靠前。示例:“ Gas Station Young, Young street, Some State ”比“ Young street ”搜索“ young ”要高。对表进行排名就足够了(除了 FTS 索引已经做的事情之外,不需要对表内的行进行排名)。

我想添加一个简单的自定义排名机制。

我尝试CustomRank在查询之前添加一列按 while/ 排序,FREETEXT但这需要太长时间。执行计划说排序依据CustomRank是链条中最薄弱的环节。

我想过:

  1. 管理另一个字段,因此我将有一个用于显示(DisplayText)和一个用于查询/索引(IndexText),并通过重复我想要提升的行的单词和短语来操作查询/索引。
  2. 将其拆分为表格并在代码中进行处理。每张桌子都会有自己的排名。

有任何想法吗?谢谢,旺格。

4

0 回答 0