我们有一个网站,我们将使用Windows搜索功能来允许用户搜索网站的页面和文档。鉴于大多数用户已经熟悉谷歌风格的搜索语法,我希望尽可能直观地进行搜索。但是,使用Windows Search似乎存在两个问题。构建Windows搜索查询
如果我使用
FREETEXT()
谓语,然后用户可以输入一定的谷歌风格的语法选项,如精确短语匹配双引号或使用减号来排除某个词。这些是我认为必要的功能。然而,FREETEXT()
谓词似乎要求每个搜索词都出现在页面/文档的某处,以便在结果中返回它。如果我使用
CONTAINS()
谓语,然后用户就可以使用布尔运算符输入搜索条件,他们可以使用*
字符执行通配符搜索。但是,所有搜索条件必须由逻辑运算符之一连接或用双引号括起来。
我想要的是两者的结合。用户应该能够使用双引号标记来搜索确切的短语,使用减号来排除单词,但是也可以使用不带引号的内容进行通配符匹配(例如,搜索civ将返回包含civil或civility词语的文档或文明)。
我怎么能去实现这个?