【问题标题】:How to disable word stemming in SQL Server Full Text Search?如何在 SQL Server 全文搜索中禁用词干提取?
【发布时间】:2009-02-13 09:28:24
【问题描述】:

我需要在没有词干的情况下进行全文搜索...我尝试将我正在搜索的术语用双引号括起来,但没有任何乐趣...当我搜索时,我仍然得到类似“bologna”的结果'"博洛尼亚洛"'

任何帮助表示赞赏..

【问题讨论】:

    标签: sql sql-server full-text-search


    【解决方案1】:

    从使用FREETEXT 切换到CONTAINS

    我假设您当前正在使用FREETEXT,因为词干自动应用于FREETEXT 查询,而CONTAINS 默认不使用词干。


    第二个次等选项是在您的 FREETEXT 查询中指定语言中立性:

    SELECT *
    FROM my_table
    WHERE FREETEXT(my_column, 'my search', LANGUAGE 0x0)
    

    如果您使用它,那么也不会应用其他特定于语言的规则(例如,分词、停用词等)。

    【讨论】:

      【解决方案2】:

      经过太多天的尝试,终于 我可以做这个: 我重新创建目录,将语言设置为 0(中性)

      CREATE FULLTEXT INDEX ON table_name
      (DescriptionField LANGUAGE 0)
      KEY INDEX idx_DescriptionField
      ON catalog_name
      

      在每个包含包含的查询中,我将语言设置为 0

      select * from table_name where contains(DescriptionField,'bolognolo',LANGUAGE 0)
      

      在我做不到这件事之前,因为我没有做第一步

      非常感谢!

      【讨论】:

        【解决方案3】:

        也许将全文索引的语言设置为中性就可以了...

        (不过,那你根本就不会被词干...)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-05-10
          • 1970-01-01
          • 1970-01-01
          • 2014-07-22
          • 1970-01-01
          • 2010-12-24
          • 2015-06-15
          • 1970-01-01
          相关资源
          最近更新 更多