【发布时间】:2019-02-08 01:23:15
【问题描述】:
我正在尝试将搜索字段添加到我的 Azure 搜索查询(请参阅下面的 SearchParameters 对象实例化)。
public async Task StartAsync(IDialogContext context)
{
ISearchIndexClient indexClient = CreateSearchIndexClient();
try
{
Trace.TraceInformation($"Starting StartAsync");
SearchParameters searchParameters = new SearchParameters();
searchParameters.SearchFields.Add("StoreNumber");
searchParameters.SearchFields.Add("StoreName");
Trace.TraceInformation($"Finished adding search fields");
// Trace.TraceInformation($"Search Parameters added = {searchParameters.SearchFields.Count}");
DocumentSearchResult results = await indexClient.Documents.SearchAsync(searchText, searchParameters);
Trace.TraceInformation($"results obtained");
List<SearchHit> searchHits = results.Results.Select(r => ResultMapper.ToSearchHit(r)).ToList();
Trace.TraceInformation($"search hits {searchHits.Count}");
await SendResultsOfSearch(context, results);
}
catch (Exception ex)
{
Trace.TraceError($"Exception {ex.ToString()}");
}
}
由于某种原因,它抛出了以下异常,但我不知道为什么?
2018-09-03T00:47:39 PID[3268] Information Starting StartAsync
2018-09-03T00:47:39 PID[3268] Error Exception System.NullReferenceException: Object reference not set to an instance of an object.
at LuisBot.Dialogs.SearchRBMDialog.<StartAsync>d__2.MoveNext() in C:\Users\jmatson\Downloads\retail-info-bot-v2-src\Dialogs\SearchRBMDialog.cs:line 32
代码编译好了吗?据我所知,不需要构造函数参数。
【问题讨论】:
-
您能否澄清 StartAsync 中的哪一行是第 32 行(因为那是出现在异常堆栈跟踪中的内容)?
标签: c# botframework azure-cognitive-search