Book Image

ElasticSearch Blueprints

Book Image

ElasticSearch Blueprints

Overview of this book

Table of Contents (15 chapters)
Elasticsearch Blueprints
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

The nearest hotel problem


Let's assume that we are at a particular point where the latitude is 1.234 and the longitude is 2.132. We need to find the nearest restaurants to this location.

For this purpose, the function_score query is the best option. We can use the decay (Gauss) functionality of the function score query to achieve this:

curl -XPOST 'http://localhost:9200/restaurants/_search' -d '{
  "query": {
    "function_score": {
      "functions": [
        {
          "gauss": {
            "location": {
              "scale": "1km",
              "origin": [
                1.231,
                1.012
              ]
            }
          }
        }
      ]
    }
  }
}'

Here, we tell Elasticsearch to give a higher score to the restaurants that are nearby the referral point we gave it. The closer it is, the higher is the importance.