我们有一个网站,我们将在其中使用 Windows 搜索功能来允许用户搜索该网站的页面和文档。鉴于大多数用户已经熟悉 google 风格的搜索语法,我想让搜索尽可能直观。但是,使用 Windows 搜索似乎存在两个问题。
如果我使用
FREETEXT()
谓词,那么用户可以输入某些 google 样式的语法选项,例如用于精确短语匹配的双引号或使用减号排除某个单词。这些是我认为必要的功能。但是,FREETEXT()
谓词似乎要求每个搜索词都出现在页面/文档中的某个位置,以便在结果中返回。如果我使用
CONTAINS()
谓词,那么用户可以使用布尔运算符输入搜索词,他们可以使用该*
字符执行通配符搜索。但是,所有搜索词必须由逻辑运算符之一连接或用双引号括起来。
我想要的是两者的结合。用户应该能够使用双引号搜索确切的短语,使用减号排除单词,但也可以让未包含在引号中的任何内容进行通配符匹配(例如,搜索 civ 将返回包含单词 Civil 或 Civility 或文明)。
我该如何实施呢?