1/2) There are several ways, but one way to create an index + mapping in 
one shot is:

PUT http://localhost:9200/infopoint
{
    "mappings" : {
        "DIVER" : {
            "properties" : {
           "location" : {
               "type" : "geo_point",
               "lat_lon": true,
               "geohash": true
           },
           "image" : {"index" : "no", "type": "string"}
       }
   }
}
}

3) There is an _all field that is automatically introduced by ES. It 
contains a concatenation of all the field values in your JSON document. 
When you do this search:

{
   "query": {
        "filtered": {
            "query": {
                "query_string": {
                    "query": "blah.jpg"
                }
            }
        }
    }
}

You don't specify a field, so by default it looks for "blah.jpg" in the 
_all field, which contains the value from your image field (plus all other 
fields) which is why it matches. If you do something like this:

{
   "query": {
        "filtered": {
            "query": {
                "query_string": {
                    "query": "image:blah.jpg"
                }
            }
        }
    }
}

Then you won't get a match if the image field is not indexed.

4) You can embed translations/tags in your document as additional fields 
but you will need to reindex the document every time you change it or any 
of its contents (such as translations/tags).


-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/8cd43f57-7c5f-4d27-a472-ecdf573fe891%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to