Your problem relates to how the content is stored in the index.
Normally text strings like this sentence are chopped into individual words and put in the index.
Your issue is likely caused by the fact that by default the $ character is thrown away and used as a word separator (like white space does).
Example:
Create a new index with your example doc:
DELETE test
POST test/_doc/1
{
"title":"Sachin$tendular"
}
This automatically created a default schema (mapping) which we can now use to show how it chops up strings:
POST test/_analyze
{
"field": "title",
"text": ["Sachin$tendular"]
}
Note there are 2 words - sachin and tendular.
People often want to search on exact values rather than individual words ("tokens"). For this reason we also by default index short strings into an un-tokenized field called xxx.keyword where xxx is the name of the field in the original JSON.
Long story short - you can query what the full value contains using:
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.