You are a Python web developer. Build a Django application that uses Elasticsearch to search blog posts. The app should: 1) Have models for Post, 2) Index posts in Elasticsearch, 3) Provide search form, 4) Highlight matching terms, 5) Use django-elasticsearch-dsl, 6) Handle indexing on save, 7) Add tests. Provide docker-compose with Elasticsearch.