I am new in working with elasticsearch and found a behaviour which i didn't understand.
If I create an index template with the type setting "_source": { "enabled" : false}
and the field mapping "doc_values": false, the field with the deactivated doc_values can still be queried.
In my opinion, the information of the field is saved in the datatypes _source and doc_values.
Is there another datatype where the Information is saved, too?
Thanks for the fast reply. But sadly i don't look for that.
I study Elasticsearch for my Bachelor Thesis and want to look inside the architecture.
I want to understand, why i can search for this field even though _source and doc_values is deactivated.
Maybe there's something cached or another datatype in the Lucene Index deep in the architecture?
I understood, that we have in one shard (lucene index) three datatypes:
the inverted index (There are the terms of a string with the location and document, which contains this term)
the _source (Here you can find the original JSON-Form of the document)
doc_values (Original data of a document in a column-oriented fashion)
And i thought that the inverted index is only for strings and not for the other types. Every example in the internet is without a integer or something else.
And the precise Question is now: When i deactivate _source and doc_values for a field with an integer (for instance the field "bytes"), is it also stored in the "inverted index"?
If this is true, it makes sense that i can filter documents with a specific number of "bytes" without _source and doc_value.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.