【发布时间】:2021-02-12 18:56:46
【问题描述】:
我正在尝试为以下模型创建索引。
public class Booking
{
[System.ComponentModel.DataAnnotations.Key]
[IsSearchable,IsFilterable,IsSortable]
public string BookId { get; set; }
[IsSearchable, IsFilterable]
public string BooknName { get; set; }
}
创建索引的代码
FieldBuilder fieldBuilder = new FieldBuilder();
var searchFields = fieldBuilder.Build(typeof(Booking));
var definition = new SearchIndex(indexName, searchFields);
indexClient.CreateOrUpdateIndex(definition);
但是当我查看定义并创建索引并将所有这些设置为 false 时,这会以某种方式忽略 IsSearchable/IsFilterable
我在这里还缺少其他属性吗?我正在使用Azure.Search.Documents - Version=11.1.1.0
【问题讨论】:
-
你有没有拼写错误?看起来在 Booking 类中您有“BooknName”,您的索引称为“bookname”。
-
您是从 SDK 版本 10 迁移吗? IsSearchable 和其他属性来自什么命名空间?
-
啊,是的,我刚刚在这里创建了一个小版本的类。实际课程是书名,并且有更多字段。
-
@BruceJohnston:我是新手,正在尝试全新的。它来自
Microsoft.Azure.Search.Service, Version=10.1.0.0 -
查看希思的回复。您正在尝试将旧 SDK (Microsoft.Azure.Search.*) 中的属性与新 SDK (Azure.Search.Documents) 一起使用,但它们不能一起使用。
标签: c# .net azure-cognitive-search .net-4.6.1 azure-search-.net-sdk