Hi Clinton, I really appreciate the fast reply. We're now using Search::Elasticsearch. I'm still having a problem getting mappings set and hope you can help. What I'm trying to do is turn of the analyzer for certain fields. Here is what I have :
In Perl : %mappings = ( 'index' => 'idx-2014.03.10', 'type' => 'my_type', 'body' => { 'my_type' => { "properties" => { 'somefield' => 'not_analyzed' } } } ); eval { $es_result = $elastic_search_object->indices->put_mapping( \%mappings ) ; }; etc etc The put_mapping call does not return an error. In JSON format, the mappings hash is : { "index" : "idx-2014.03.10", "type" : "my_type" "body" : { "my_type" : { "properties" : { "somefield" : "not_analyzed" } } } } When I try to get the mappings for the this type/index with : curl -XGET 'localhost:9200/idx-2014.03.10/my_type/_mapping' I get {} which I think means there are no mappings yet set for this index and type. Is the body section above of the correct structure ? Is 'properties' always required ? Any guidance would be much appreciated again. I've been using these as guides so far : - https://metacpan.org/pod/Search::Elasticsearch::Client::Direct::Indices#put_mapping - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-put-mapping.html - some training docs Thanks again Dom On Monday, March 10, 2014 10:35:21 AM UTC-4, Dominic Nicholas wrote: > > Hi, > > I'm using the Elasticsearch Perl module and need guidance on setting up > mappings. > I'm using the bulk() method to index data. Here is an example of the > structure of the data : > > $response = $e->bulk( > "index" : "idx-2014.03.10", > "type" : "my_type", > "body" : [ > { > "index" : { > "_index" : "idx-2014.03.10", > "_id" : "4410", > "_type" : "my_type" > } > }, > { > "something" : "interesting", > "somethingelse" : "also interesting" > }, > { > "index" : { > "_index" : "idx-2014.03.10", > "_id" : "4411", > "_type" : "my_type" > } > }, > { > "something" : "very interesting", > "somethingelse" : "not interesting" > } > ] > ); > > How do I set up mappings on various fields in the above example for > 'something' and 'somethingelse' fields ? > Also, how do I turn off the analyzer for an index (index: not_analyzed) > too ? > > I know there are several ways of setting up mappings such as : > > - when creating an index > - by using the dedicated update mapping api > - using index templates > > Ideally I'd like to use the dedicated update mapping api but am unclear > how to use that through the Perl library interface (eg use > transport->perform_request() > ?). > > Thanks for any guidance and help. > > Dom > > -- 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 elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/f23f9a91-3176-4bea-8258-c9d38d1dd34f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.