我正在构建自定义搜索页面并尝试使用现有的自定义搜索范围。我成功使用SearchBoxEx和AppQueryTerms =“ContentType:'我的自定义内容类型名称'”但当我尝试使用AppQueryTerms =“范围:'我的自定义搜索范围'”时,我没有错误,但也没有正确的结果。我知道我的范围是使用高级搜索填充的,所以我必须使用AppQuwryTerms错误。
我在网上搜索过,无法找到允许的AppQueryTerms过滤器列表。这个Enum是否知道stackerverse?
答案 0 :(得分:1)
问题是你的范围名称有空格。
这对我有用:
AppQueryTerms="Scope:"My Scope""
答案 1 :(得分:1)
SearchBoxEx.AppQueryTerms
的值不是枚举。它们实际上是用SharePoint搜索的特定语言编写的查询。 SharePoint 2010的语法由microsoft在此page上定义。它遵循格式<Property Name><Property Operator><Property Value>
Scope
是您的财产名称。 :
是您的财产运营商
使用属性存储数据库进行匹配。My Scope
是你的
财产价值。上面的页面说明:
属性限制不得在属性名称,属性运算符和属性值之间包含空格,否则属性限制将被视为自由文本查询。属性限制的长度限制为2,048个字符。
因此,与HelloSharePoint的示例一样,如果属性值包含空格,则必须将其包装在引号中。
答案 2 :(得分:0)
您的自定义范围是否显示在范围的网站列表中? http://intranet/[sitecollection]/_layouts/viewscopes.aspx?mode=site
范围是否显示在显示组中?