或许某些文档http://nest.azurewebsites.net/已经过时了,因为我遇到了至少一些问题...
我有一个json对象'搜索'。我从GetMapping函数返回null。好吧,它返回一个Nest.RootObjectMapping对象,但其中的所有字段都为null。我可以使用Sense或常规卷曲来获得映射。
var mapping = elasticClient.GetMapping<MyJsonPOCO>();
任何想法?
另外,正如其他问题出现的例子一样,这种搜索也有效,但是添加了&#39;字段&#39;它没有(我根据文件获得了字段声明)
var result = elasticClient.Search<MyJsonPOCO>(s => s
.Query(q => q
.QueryString(qs => qs
.OnField(e => e.Title)
.Query("my search term"))));
如果我将这个查询与添加的字段一起使用(只返回&#39; title&#39;),我会得到一个json解析器问题。
var result = elasticClient.Search<MyJsonPOCO>(s => s
.Fields(f => f.Title)
.Query(q => q
.QueryString(qs => qs
.OnField(e => e.Title)
.Query("my search term"))));
这是该错误的错误: 类型&#39; Newtonsoft.Json.JsonReaderException&#39;的例外情况发生在Newtonsoft.Json.dll但未在用户代码中处理 附加信息:读取字符串时出错。意外的令牌:StartArray。路径&#39; hits.hits [0] .fields.title&#39;,第1行,第227位。
答案 0 :(得分:2)
Elasticsearch 1.0更改了搜索响应中返回字段的方式
您需要NEST 1.0 beta1版本才能与Elasticsearch 1.0一起使用
http://www.elasticsearch.org/blog/introducing-elasticsearch-net-nest-1-0-0-beta1/
有关使用1.0前进字段的原因和方法的更多背景信息,请参阅此github问题:
https://github.com/elasticsearch/elasticsearch-net/issues/590