向 Umbraco 8 成员索引添加一个字段

Add a field to the Umbraco 8 Members Index

我通过添加一些自定义字段扩展了 Umbraco 8 成员类型。

我需要能够通过这些字段之一搜索成员,'organisationName'(这是它的别名),所以在查看 Examine 时,我尝试将其添加到成员索引中,如下所示:

private readonly IExamineManager _examineManager;

    public CustomizeIndexComponent(IExamineManager examineManager)
    {
        _examineManager = examineManager;
    }

    public void Initialize()
    {
        // get the external index
        if (!_examineManager.TryGetIndex("MembersIndex", out var index))
            return;

        // add a custom field type
        index.FieldDefinitionCollection.TryAdd(new FieldDefinition("organisationName", FieldDefinitionTypes.FullText));

    }

当我在 TryAdd 之后放置断点时,我可以看到新字段,但在后台查看成员索引时它不存在。

我这样做的方式是否正确,因为我可以将我的字段实际添加到成员索引中,还是应该根据成员创建一个新的自定义索引?

我认为大多数人都像这样创建自己的索引: https://our.umbraco.com/forum/developers/extending-umbraco/72299-umbraco-7-backoffice-member-search-by-custom-properties#comment-277928

但我个人只会使用 GetMembersByPropertyValue 访问成员资格 API。 使用 umbraco api 控制器调用成员 api 非常容易。 https://our.umbraco.com/documentation/reference/management/services/memberservice/ (这里的例子只是为了显示几行)。

/umbraco/api/SearchMemberApi/ReturnMembersWith