Source filtering lets you choose which parts of the document you want to get back in the search results. It helps reduce the amount of data sent over the network.
Click to reveal answer
beginner
How do you exclude fields using source filtering?
You use the _source field with an excludes list to tell Elasticsearch which fields to leave out from the results.
Click to reveal answer
beginner
Show an example of including only specific fields with source filtering.
Use _source with an includes list. For example:
{"_source": {"includes": ["title", "author"]}}
This returns only the title and author fields.
Click to reveal answer
beginner
Why use source filtering in Elasticsearch?
It makes your search faster and lighter by sending only the data you need. This saves bandwidth and improves performance.
Click to reveal answer
intermediate
Can source filtering be used with nested fields?
Yes, you can include or exclude nested fields by specifying their full path in the includes or excludes lists.
Click to reveal answer
What does source filtering control in Elasticsearch?
AWhich fields are returned in the search results
BWhich documents are indexed
CHow documents are scored
DThe order of search results
✗ Incorrect
Source filtering controls which fields are included or excluded in the search results.
How do you exclude the field 'password' from search results using source filtering?
A{"fields": ["password"]}
B{"_source": {"includes": ["password"]}}
C{"_source": {"excludes": ["password"]}}
D{"filter": {"password": false}}
✗ Incorrect
Using excludes with the field name removes it from the returned source.
If you want only 'title' and 'date' fields in the results, which source filtering option is correct?
A{"_source": {"includes": ["title", "date"]}}
B{"_source": {"excludes": ["title", "date"]}}
C{"fields": ["title", "date"]}
D{"filter": {"title": true, "date": true}}
✗ Incorrect
The includes list specifies which fields to return.
What happens if you do not use source filtering in a query?
ANo fields are returned
BAll fields of the document are returned
COnly the document ID is returned
DThe query will fail
✗ Incorrect
By default, Elasticsearch returns the entire source document.
Can source filtering improve network performance?
AYes, but only for aggregations
BNo, it only affects indexing
CNo, it slows down queries
DYes, by reducing data sent over the network
✗ Incorrect
Source filtering reduces the size of the response, improving network performance.
Explain what source filtering is and why it is useful in Elasticsearch.
Think about how you can get only the parts of a document you need.
You got /3 concepts.
Describe how to include and exclude fields using source filtering with examples.
Remember the JSON keys 'includes' and 'excludes' inside '_source'.
You got /3 concepts.
Practice
(1/5)
1. What is the main purpose of _source filtering in Elasticsearch?
easy
A. To control which parts of the document are returned in search results
B. To filter documents before indexing
C. To change the document content during indexing
D. To sort search results by field values
Solution
Step 1: Understand _source filtering role
_source filtering controls which fields of a document are included in the search response.
Step 2: Differentiate from other features
It does not affect indexing or sorting, only what data is returned after a search.
Final Answer:
To control which parts of the document are returned in search results -> Option A
Quick Check:
Source filtering = control returned fields [OK]
Hint: Remember: source filtering limits returned fields only [OK]
Common Mistakes:
Confusing source filtering with indexing filters
Thinking it changes document content
Assuming it sorts results
2. Which of the following is the correct syntax to exclude the field password from the search results using source filtering?
easy
A. "_source": { "filter": ["password"] }
B. "_source": { "include": ["password"] }
C. "_source": { "excludes": ["password"] }
D. "_source": { "remove": ["password"] }
Solution
Step 1: Recall source filtering syntax
To exclude fields, use "excludes" inside _source with a list of field names.
Step 2: Match correct syntax
"_source": { "excludes": ["password"] } uses "excludes": ["password"], which is the correct way to exclude the password field.
Final Answer:
"_source": { "excludes": ["password"] } -> Option C
Quick Check:
Exclude fields = use "excludes" key [OK]
Hint: Use "excludes" key to remove fields from results [OK]
Common Mistakes:
Using "include" to exclude fields
Using non-existent keys like "filter" or "remove"
Wrong JSON structure
3. Given this Elasticsearch query snippet, what fields will be returned in the search results?
B. The includes field should be a list, not a comma-separated string
C. The query is missing a filter clause
D. The match_all query is invalid
Solution
Step 1: Check includes value type
The includes field expects an array of strings, not a single comma-separated string.
Step 2: Identify correct format
It should be ["title", "author"] instead of "title,author".
Final Answer:
The includes field should be a list, not a comma-separated string -> Option B
Quick Check:
includes must be an array, not a string [OK]
Hint: Use arrays for includes/excludes fields, not strings [OK]
Common Mistakes:
Using comma-separated strings instead of arrays
Misspelling _source key
Confusing query errors with source filtering
5. You want to return all fields except password and ssn from documents, but also include only the name and email fields explicitly. Which source filtering configuration achieves this correctly?
hard
A. "_source": { "includes": ["name", "email"], "excludes": ["password", "ssn"] }
B. "_source": { "include": ["name", "email", "password", "ssn"] }
C. "_source": { "exclude": ["password", "ssn"] }
D. "_source": { "include": ["name", "email"] }
Solution
Step 1: Understand combined includes and excludes
Using both includes and excludes lets you specify fields to return and fields to omit.
Step 2: Analyze options
"_source": { "includes": ["name", "email"], "excludes": ["password", "ssn"] } includes name and email but excludes password and ssn, matching the requirement.