【问题标题】:containstable ignores noise word 'of' while searchingcontainstable 在搜索时忽略干扰词“of”
【发布时间】:2019-06-22 08:19:09
【问题描述】:

我正在使用containstable 在数据库表中进行搜索。我正在使用文本“重心”进行搜索,但它不返回结果。如果我只使用“中心”或“重力”进行搜索,则会返回结果。

如何克服这种情况?

select * from containstable(swInstances, *, '"*Center of gravity*"')

【问题讨论】:

  • 你试过containstable(swInstances, *, '"Center of gravity"')吗?
  • 是的,我试过了,但是不行

标签: sql sql-server containstable noise-words


【解决方案1】:

我认为问题在于单词的位置。 containstable 考虑了停用词的位置,因此“中心”和“重力”不相邻。但是,“of”已从搜索词中删除。

想到了两个解决方案。第一种是使用near(参见here)并允许使用一个停用词来分隔。当然,这也会找到“重心”。

二是从搜索索引中完全去除停用词,这样可以直接搜索“重心”之类的短语。

我不确定哪个更适用于您的情况。如果我不得不猜测,near 可能就足够了。

【讨论】:

    猜你喜欢
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 2014-07-22
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多