我有电影和音乐数据库。根据用户是看电影还是听音乐,需要更改方面。
我尝试使用.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/