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 [email protected].
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.