环境:
- elasticsearch版本:7.13.2
实例
指定包含哪些以及不包含哪些字段
GET /_search
{
"_source": {
"includes": [ "id", "name" ],
"excludes": [ "*.description" ]
},
"query" : {
"term" : { "user" : "kimchy" }
}
Elasticsearch.Net
+NEST
写法
var res = _client.Search<FTS_PdfPageIndex>(s => s
.Index("pdfpageindex").Size(10000)
.Source(s=>s.Includes(ss=>ss.Fields(f=>f.Id,f=>f.PdfFileID)))
.Query(q => q
.Bool(b => b
.Must(m => m
.Terms(ts => ts
.Field(fd => fd.PdfFileID)
.Terms(fileIDs.ToArray())
), m => m
.Match(mq => mq
.Field(f => f.Content)
.Query(keyWord))
))
).Highlight(h => h
.Fields(hf => hf
.Field(f => f.Content)
).PreTags(new string[] { _elasticModel.Highlight_PreTags })
.PostTags(new string[] { _elasticModel.Highlight_PostTags })
));
其中的:
.Source(s=>s.Includes(ss=>ss.Fields(f=>f.Id,f=>f.PdfFileID)))
就是设置指定返回的字段。