在测试应用程序中,我想创建搜索索引。
我有一个对象列表,我想发送到azure搜索索引。
使用以下代码我自己创建索引:
await client.Indexes.CreateAsync(myIndexDefinition);
这有效,我可以在门户中看到带有已定义字段的索引。
现在我尝试添加文档。
using (SearchIndexClient index = client.Indexes.GetClient(cityIndexName))
{
List<IndexAction> items = cities.Select(CreatecCtion).ToList();
var batch = new IndexBatch(items);
await index.Documents.IndexAsync(batch);
}
[...]
private IndexAction CreateACtion(city city)
{
var doc = new Document
{
{ "CityId", city.Id }
};
var action = new IndexAction(IndexActionType.Upload, doc);
return action;
}
运行代码后,所有项目的结果都表明它们是成功的,并且获得了我设置的ID。但是,当我查看此索引的门户网站时,计数为0。
任何提示我做错了什么?
答案 0 :(得分:2)
索引统计信息以异步方式更新。即使你打电话给Indexes.GetStats
,结果也会略微落后。如果您希望在编制索引后立即获得准确的文档计数,请使用Documents.Count
。
答案 1 :(得分:1)
墨菲定律。现在(在上次更新大约30分钟后),他们正在出现。
看起来主页上的统计信息不会立即刷新。
希望这有助于其他人:)