NOTE: You are looking at documentation for an older release. For the latest information, see the current release documentation.
Source Filtering Usage
edit
IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.
Source Filtering Usage
editAllows to control how the _source field is returned with every hit.
By default operations return the contents of the _source field unless
you have used the fields parameter or if the _source field is disabled.
See the Elasticsearch documentation on Source Filtering for more detail.
Fluent DSL example
edits => s
.Query(q => ProjectFilter)
.Source(src => src
.IncludeAll()
.Excludes(e => e
.Fields(
p => p.Description
)
)
)
Object Initializer syntax example
editnew SearchRequest<Project>
{
Query = ProjectFilter,
Source = new SourceFilter
{
Includes = "*",
Excludes = Fields<Project>(p => p.Description)
}
}
Example json output.
{
"query": {
"term": {
"type": {
"value": "project"
}
}
},
"_source": {
"includes": [
"*"
],
"excludes": [
"description"
]
}
}
Handling Responses
editresponse.ShouldBeValid();
foreach (var document in response.Documents)
{
document.Name.Should().NotBeNull();
document.StartedOn.Should().NotBe(default(DateTime));
document.Description.Should().BeNull();
}
Fluent DSL example
edits => s.Source(false)
Object Initializer syntax example
editnew SearchRequest<Project>
{
Source = false
}
Example json output.
{
"_source": false
}
Handling Responses
editresponse.ShouldBeValid();
foreach (var hit in response.Hits)
hit.Source.Should().BeNull();