在FAST搜索查询中,我希望获得适用于搜索字词的所有优化.目前我只收到100个结果.我想知道是否有一个设置可以获得超过100个细化结果,我必须在查询中传递这些结果.
这是查询的Refiners部分:
<IncludeRefinementResults><Refiners><Refiner>*PROPERTY NAME*</Refiner></Refiners></IncludeRefinementResults>
Run Code Online (Sandbox Code Playgroud)
我已经研究过Deep vs shallow Refiners(https://technet.microsoft.com/en-us/library/gg193929 ( v= office.14 ) .aspx ),它基于所有结果和基于just的改进来处理细化前100个结果,不处理返回的细化结果的实际数量.
如果有人可以指向Microsoft文档,声明100是硬限制或引导我到我缺少的过滤器,那将是很棒的.
我正在尝试为FAST搜索开发自定义的SharePoint 2010 Web部件.我使用的Microsoft.Office.Server.Search.Query.KeywordQuery
是这样的东西:
var FASTquery = new KeywordQuery(proxy)
{
ResultsProvider = SearchProvider.FASTSearch,
QueryText = queryText,
ResultTypes = ResultType.RelevantResults | ResultType.RefinementResults
};
FASTquery.SelectProperties.AddRange(
new string[] { "Title", /* ..., */ "HitHighlightedSummary" });
ResultTableCollection searchResults = FASTquery.Execute();
Run Code Online (Sandbox Code Playgroud)
我继续绑定searchResults[ResultType.RelevantResults]
到一个Repeater
控件.我试图通过调用来显示"点击突出显示的摘要" FASTquery.HighlightStringValue()
.我传递的价值是HitHighlightedSummary
来自searchResults
.搜索"ear"时搜索结果的示例如下:
<ddd/>FALSE ); GetDlgItem(IDC_<c0>EAR</c0>_PAIN_STATIC)->EnableWindow<ddd/>FALSE ); GetDlgIte(IDC_<c0>EAR</c0>_PAIN_ABSENT_RADIO<ddd/>FALSE ); GetDlgItem(IDC_<c0>EAR</c0>_PAIN_MILD_RADIO<ddd/>
Run Code Online (Sandbox Code Playgroud)
但是,当使用这样的字符串调用时,FASTquery.HighlightStringValue()
会抛出一条System.ServiceModel.FaultException
消息"值不在预期范围内".
将此摘录转换为HTML的正确方法是什么,还是应该HighlightStringValue()
使用其他值调用?文档不是特别有用.