创建 azure 搜索索引时无法识别 IsSearchable

IsSearchable not recognized when creating azure search index

我正在尝试为以下模型创建索引。

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

由于您正在实例化 FieldBuilder,我假设您正在使用 Azure.Search.Documents。在那种情况下,您需要使用我们添加的新属性,例如 SearchableFieldAttribute。前面的属性有效地对应于属性。有关示例,请参阅 https://github.com/Azure/azure-sdk-for-net/blob/master/sdk/search/Azure.Search.Documents/samples/Sample04_FieldBuilderIgnore.md

Microsoft.Azure.Search 将很快被弃用,顺便说一句。