如何在Elasticsearch和Nest中添加动态方面

时间:2014-05-14 13:49:26

标签: 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"

1 个答案:

答案 0 :(得分:1)

找到了答案。你必须为这个方面命名(我知道但不确定在哪里)就像这样......

见&#39; MyFacet&#39;下面...

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

如果这是在某个地方的文档中 - 有人可以指向我吗?

谢谢!