elasticsearch - 如何在Elasticsearch和Nest中添加动态构面

标签 elasticsearch nest

我有电影和音乐数据库。根据用户是看电影还是听音乐,需要更改方面。

我尝试使用.OnFields(string [])传递数组(根据电影/音乐而变化),但出现错误。

这是我正在使用的代码,它会产生错误。我想念什么?

string[] facetFields = new []{"genres","format","decades","price"};

var searchResult = client.Search<MyData>(s => s
            .MatchAll()
            .FacetTerm(t => t
                .OnFields(facetFields)
                .Order(TermsOrder.term)
                .AllTerms()
            ));

错误是:
"Couldn't infer name for facet of type TermFacetDescriptor`1"

最佳答案

找到了答案。您必须这样命名构面(我知道但不确定在哪里)...

请参阅下面的“MyFacet” ...

var searchResult = client.Search<MyData>(s => s
        .MatchAll()
        .FacetTerm("MyFacet", t => t
            .OnFields(facetFields)
            .Order(TermsOrder.term)
            .AllTerms()
        ));

(如果在文档的某个地方)-有人可以指出吗?

谢谢!

关于elasticsearch - 如何在Elasticsearch和Nest中添加动态构面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23656576/

相关文章:

elasticsearch - 使用 NEST 进行多字段的正确方法

elasticsearch - 使用ElasticSearch存储数据而无需编制索引或进行分析(NEST客户端)

database - Elastic Search 有多不安全以及如何提高其安全性?

.net - IClrTypeMapping 与 ClrTypeMappingDescriptor

sorting - 内部查询中单个查询的 Elasticsearch 排序结果

elasticsearch - 如何在 kafka-connect 汇合平台的 elasticsearch sink 连接器配置中使用 ca cert?

c# - 弹性巢状查询栏位应存在筛选器

elasticsearch - Nest ElasticSearch添加条件条款

elasticsearch - 如何用[]搜索字符串

Elasticsearch,匹配数组中数组的任何可能的精确值