gpt4 book ai didi

c# - 使用Nest Client进行Elastic Search中的动态构面

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

我需要一种方法来控制构建方面,而不仅使用巢式流利的api。主要需求是我可能需要包括或排除所有项或facetfilters。

下面的代码有效,但是要更改构面,我需要重新编译。我看到它需要一个Func,但是我一直无法返回正确的类型来使它正常工作。

        sd.FacetTerm("Name", t => t 
.OnField("Field")
.Size(facet.Size)
.AllTerms()
);

下面的代码不起作用,我确定为什么。调试时,我看到它创建了构面术语,但是没有“FacetBuilder”提供的任何数据。
    sd.FacetTerm(facet.Name, t => FacetBuilder(options));


public TermFacetDescriptor<CatalogMapping> FacetBuilder(FacetOptions options)
{
var facet = new TermFacetDescriptor<CatalogMapping>();
facet.OnField(options.Field);

facet.Size(options.Size);
if (options.IncludeAllTerms)
facet.AllTerms();

return facet;
}

最佳答案

需要传递一个对象引用并修改该实例。

public TermFacetDescriptor<CatalogMapping> FacetBuilder(TermFacetDescriptor<CatalogMapping> termFacet, FacetOptions options)
{
termFacet.OnField(options.Field);
termFacet.Size(options.Size);

if (options.IncludeAllTerms)
termFacet.AllTerms();

return termFacet;
}

关于c# - 使用Nest Client进行Elastic Search中的动态构面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13916265/

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