我实现我的应用程序提供像谷歌,大,和亚马逊的自我暗示功能蔚蓝的搜索。我曾尝试使用下面URL.All工作正常,但得到的结果在超过1.5秒句子的每个词执行相同的可用github上的代码。 https://github.com/Azure-Samples/search-dotnet-getting-started/tree/master/DotNetHowToAutocomplete
目前我使用的两个指标,用于搜索和基础层创建。下面是代码
public ActionResult Suggest(bool highlights, bool fuzzy, string term)
{
InitSearch();
// Call suggest API and return results
SuggestParameters sp = new SuggestParameters()
{
UseFuzzyMatching = fuzzy,
Top = 5,
Filter="name eq 'testid'",
OrderBy=new List<string>() { "Date desc"}
};
if (highlights)
{
sp.HighlightPreTag = "<b>";
sp.HighlightPostTag = "</b>";
}
DocumentSuggestResult suggestResult = _indexClient1.Documents.Suggest(term, "index1",sp);
if (suggestResult.Results.Count<5)
{
SuggestParameters sp2 = new SuggestParameters()
{
UseFuzzyMatching = fuzzy,
Top = 5- suggestResult.Results.Count,
Filter = "Product eq 'PAAS'",
OrderBy = new List<string>() { "Count desc" }
};
if (highlights)
{
sp2.HighlightPreTag = "<b>";
sp2.HighlightPostTag = "</b>";
}
DocumentSuggestResult suggestResult2= _indexClient2.Documents.Suggest(term, "index2", sp2);
suggestResult.Results = suggestResult.Results.Union(suggestResult2.Results).Distinct().ToList();
// final = suggestResult.Results.GroupBy(s => s.Text, StringComparer.CurrentCultureIgnoreCase).ToList();
}
// Convert the suggest query results to a list that can be displayed in the client.
List<string> suggestions = suggestResult.Results.Select(x => x.Text).Distinct().ToList();
return new JsonResult
{
JsonRequestBehavior = JsonRequestBehavior.AllowGet,
Data = suggestions
};
}
为了测试它 - 当我输入任何文字它花费过多时间在1.5至1.8秒填充的效果,它的工作与其他Web应用程序搜索框。
定时我使用的检查上chrome浏览器元素检查。附加screenshot.qazxsw POI
请建议。
我回答了另一篇文章类似的问题:see screenshot
最主要的是,你不应该使用Chrome计时器来衡量蔚蓝的搜索性能。使用您收到的HTTP响应的“过去时”场(接管多个呼叫的平均值),因为它准确地告诉你多少时间花在如何从蔚蓝的搜索让你的结果。铬定时器可以通过网络/机器配置的影响。如果没有帮助,您可以按照其他提示我在我上面链接后建议。