企业级搜索 SQL 语法中的干扰词和 CONTAINS 谓词

当您创建搜索查询时,请记住:在对内容编制索引时,将删除非常常见或对相关内容没有任何意义的单词。全文本搜索中不能匹配这些干扰 词。例如,搜索短语“it is a test”相当于搜索单词“test”,因为编制文档索引时会丢弃“it”、“is”和“a”。

从 CONTAINS 内容搜索词中丢弃的干扰词被视为占位符。所搜索的短语应该具有相同的单词数,但是干扰词可匹配任何其他单个单词。这样,当用户打算将干扰词用作逻辑运算符时,就可能出现意外结果。例如,如果想要搜索同时包含“computer”和“software”的所有文档,用户可以键入“computer AND software”。如果不加任何更改便将该字符串插入 CONTAINS 谓词中,它将按以下方式提交:

CONTAINS('"computer AND software"')

企业级搜索搜索引擎将“AND”识别为干扰词并丢弃它。然后,它匹配由其他干扰词分隔“computer”和“software”的所有文档。企业级搜索将返回包含“computer programming software”、“computer drawing software”甚至“computer running software”的文档。但是,不返回只包含“computer software”的文档。

下面的 CONTAINS 谓词将返回更贴近用户意图的文档:

CONTAINS('"computer" AND "software"')

See Also

参考

企业级搜索 SQL 语法中的 CONTAINS 谓词