gpt4 book ai didi

elasticsearch - 使用NEST在elasticSearch上创建映射时忽略字段

转载 作者:行者123 更新时间:2023-12-02 23:04:24 25 4
gpt4 key购买 nike

我正在创建索引,并且还使用indexDescriptor添加了映射,我对映射过程有一些疑问:

  • 如何避免从类中索引特定字段?
  • 如何使用流畅的界面配置来增强和指定“boostfield”的值?
  • 是IndexDescriptor而不使用ElasticProperty属性
  • 映射类字段的正确位置

    我只是问这些问题,因为我是使用NEST的新手,似乎当前文档已过时

    我如何创建索引:
    CreateIndex(IndexName, descriptor => descriptor.AddMapping<CandidateTextInfo>(
    m => m.MapFromAttributes().
    BoostField(c=>c.SetName(d=>d.Headline)).NumericDetection()));


    public class CandidateTextInfo
    {
    public string ProfilePicture { get; set; }
    public ObjectId UserId { get; set; } //field to ignore on mapping
    public string Name { get; set; }
    public string Headline { get; set; }
    public Gender Gender { get; set; }
    public byte Rating { get; set; }
    public bool IsCompany { get; set; }
    public string[] Tags { get; set; }
    public string[] Categories { get; set; }
    public string ExecutiveSummary { get; set; }
    public HourlyRate HourlyRate { get; set; }


    }

    最佳答案

    首先,文档nest.azurewebsites.com是最新的,适用于NEST 1.0.0-Beta1和Elasticsearch.Net的最新版本。请确保您使用的是最新版本,并引用有关它的博客文章introducing elasticsearch.net and nest 1.0.0-beta1以获得更多详细信息。

    您可以使用Fluent Mapping中的.Enabled()设置来排除POCO中的某个属性,使其不被索引。或者,您也可以在ElasticProperty属性中使用OptOut设置。 (但是,我注意到您远离ElasticProperty属性)。

    请查看Nest资源中的FluentMappingFullExampleTests.cs,以获取所有Fluent Mapping设置/选项的引用。这包括boosting和boostField。

    是的,IndexDescriptor是映射类字段的一种选择。流畅地查看Create Index Reference,特别是有关使用设置和映射创建索引的部分。或者,您可以使用Put Mapping Api将映射应用于索引。两种方法都有效,我个人更喜欢在索引创建时应用映射。

    希望这可以帮助。

    关于elasticsearch - 使用NEST在elasticSearch上创建映射时忽略字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23209531/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com