elasticsearch 使用嵌套在elasticSearch上创建映射时忽略字段,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch 使用嵌套在elasticSearch上创建映射时忽略字段,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch 使用嵌套在elasticSearch上创建映射时忽略字段

elasticsearch 使用嵌套在elasticSearch上创建映射时忽略字段,elasticsearch,nest,elasticsearch,Nest,我正在创建一个索引,并使用indexDescriptor添加一个映射,我对映射过程有几个疑问: 如何避免索引类中的特定字段 如何使用fluent接口配置提升并指定“boostfield”的值 IndexDescriptor是否是在不使用属性的情况下映射类字段的正确位置 我只是问这些问题,因为我是新使用NEST的,而且当前的文档似乎已经过时了 如何创建索引: CreateIndex(IndexName, descriptor => descriptor.AddMapping<Candi

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

  • 如何避免索引类中的特定字段
  • 如何使用fluent接口配置提升并指定“boostfield”的值
  • IndexDescriptor是否是在不使用属性的情况下映射类字段的正确位置
  • 我只是问这些问题,因为我是新使用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; }
    
    
        }
    
    CreateIndex(IndexName,descriptor=>descriptor.AddMapping(
    m=>m.MapFromAttributes()。
    BoostField(c=>c.SetName(d=>d.Headline)).NumericDetection();
    公共类候选人
    {
    公共字符串ProfilePicture{get;set;}
    public ObjectId UserId{get;set;}//映射时要忽略的字段
    公共字符串名称{get;set;}
    公共字符串标题{get;set;}
    公共性别{get;set;}
    公共字节评级{get;set;}
    公共bool IsCompany{get;set;}
    公共字符串[]标记{get;set;}
    公共字符串[]类别{get;set;}
    公共字符串ExecutiveSummary{get;set;}
    公共HourlyRate HourlyRate{get;set;}
    }
    
    首先,该文档是最新的,适用于最新版本的NEST 1.0.0-Beta1和Elasticsearch.Net。请确保您使用的是此最新版本,并参考有关此版本的博客文章:了解更多详细信息

    通过使用Fluent映射中的
    .Enabled()
    设置,可以将POCO中的属性排除在索引之外。或者,您也可以使用ElasticProperty属性中的
    OptOut
    设置。(但是,我注意到您远离ElasticProperty属性)

    请查看Nest source中所有Fluent映射设置/选项的参考。这包括助推和助推区

    是的,IndexDescriptor是映射类字段的一个选项。请参阅,特别是“使用设置和映射一次性创建索引”一节。或者,可以使用将映射应用于索引。这两种方法都是有效的,我个人更喜欢在索引创建时应用映射


    希望这有帮助。

    谢谢!,我的意思是更新,因为如果你看一下基于代码的映射中的映射引用,它解释了TypeMapping的用法,这似乎已经过时了,但可能所有文档都过时的假设是错误的,谢谢你的回答,非常有用谢谢你对文档的澄清。我同意,文档中有几个部分需要更新,基于代码的映射的Put映射看起来就是其中之一。你们完全正确文档中的一些部分还没有更新到1.0,非常混乱:/Gents,有人知道如何使用.Enabled()流利地做到这一点吗?有一个例子吗?[ElasticProperty(OptOut=true)]上面我想忽略的成员正是我要找的!