使用ES和Nest建立索引时如何忽略字段

时间:2018-10-31 13:27:36

标签: elasticsearch nest

我有以下索引:

        if (!_ElasticClient.IndexExists(_IndexName).Exists)
        {
            // create the index
            var CreateIndexResponse = _ElasticClient.CreateIndex(_IndexName, C => C
                .Settings(S => S
                    .Analysis(A => A
                        .CharFilters(Cf => Cf
                            .Mapping("expressions", E => E
                                .Mappings(TextLists.Expressions)
                            )
                        )
                        .TokenFilters(Tf => Tf
                            .Synonym("synonyms", Sy => Sy
                                .Synonyms(TextLists.Synonyms)
                                .Tokenizer("whitespace")
                            )
                        )
                        .Analyzers(An => An
                            .Custom("index", Ca => Ca
                                .CharFilters("expressions")
                                .Tokenizer("standard")
                                .Filters("standard", /*"lowercase",*/ "synonyms", "stop")
                            )
                        )
                    )
                )
                .Mappings(M => M
                    .Map<PictureObject>(Mm => Mm
                        .AutoMap()
                        .Properties(P => P
                            .Text(T => T
                                .Name(N => N.Title)
                                .Analyzer("index")
                            )
                            .Text(T => T
                                .Name(N => N.Tags)
                                .Analyzer("index")
                            )
                        )
                    )
                )
            );

如何插入将不希望存储/索引/分析/所有内容排除在外的代码? 我希望索引器假装这些字段不存在,并且甚至不存储在数据库中。

否则,我将不得不创建第二个类,然后复制麻烦的我需要的东西。

我不能在该类上使用属性,因为它是从另一个项目导入的。

0 个答案:

没有答案