Just edit down the second example:
curl -XPOST "$ES_URL/_template/event" -d '
{
"order": 0,
"template": "event-*",
"settings": {
"index.number_of_shards": "1"
},
"mappings": {
"_default_": {
"dynamic_templates": [
{
"strings": {
"match_mapping_type": "string",
"mapping": {
"index": "not_analyzed",
"type": "string"
}
}
}
]
}
}
}
this says: for any type in the index install a dynamic template. the dynamic
template should take any incoming string and create a “not_analyzed” mapping.
Good luck.
Xavier
> On May 4, 2016, at 10:23 PM, Abhiman <[email protected]> wrote:
>
> Thanks. What would the mapping be, if I want to make all strings non-analysed.
>
> Regards,
> ---------------------------------------------------------------------------------------------
> Abhiman | Analyst
> M: +91 8004274160 | www.tcg-digital.com <http://www.tcg-digital.com/>
> From: Xavier Lange <[email protected]>
> Sent: 21 April 2016 12:17:07
> To: Abhiman
> Cc: [email protected]
> Subject: Re: [heka] Uploading To Elasticsearch a non-analysed field
>
> Heka is not responsible for mappings in Elasticsearch. Heka doesn’t create
> the mappings, that’s a property of the dynamic schema in Elasticsearch. I
> highly recommend using an Elasticsearch index template to solve your problem.
> Here’s a simple example:
>
> curl -XPOST "$ES_URL/_template/event" -d '
> {
> "order": 0,
> "template": "event-*",
> "settings": {
> "index.number_of_shards": “5"
> },
> "mappings": {
> "_default_": {
> "properties": {
> “nameOfMyUnanalyzedProperty": {
> "type": “string”,
> “index”: “not_analyzed"
> }
> }
> }
> },
> "aliases": {}
> }
> ‘
>
> You can find more information here:
> https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html
>
> <https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html>
> . Note, you will need to drop your existing indexes because their schema is
> already determine to be analyzed.
>
> Here’s a more complicated example… something I wish I was given a while ago!
> This example disables analysis on all strings fields but turns on geo_point
> for one named property.
>
> curl -XPOST "$ES_URL/_template/event" -d '
> {
> "order": 0,
> "template": "event-*",
> "settings": {
> "index.number_of_shards": "1"
> },
> "mappings": {
> "_default_": {
> "dynamic_templates": [
> {
> "strings": {
> "match_mapping_type": "string",
> "mapping": {
> "index": "not_analyzed",
> "type": "string"
> }
> }
> }
> ],
> "properties": {
> "abcGeoCoords": {
> "type": "geo_point",
> "geohash_prefix": true,
> "geohash_precision": "1m"
> }
> }
> }
> },
> "aliases": {}
> }
> ‘
>
> Hope this helps.
>
> Xavier
>
>
>> On Apr 20, 2016, at 11:36 PM, Abhiman Talwar <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> I want to upload data to ES-server using HEKA. Everything was going fine
>> till I
>> realized Heka uploads every field as 'analysed' and I want one field to be
>> non-
>> analysed. How can I do that ?
>>
>> Thanks
>>
>> _______________________________________________
>> Heka mailing list
>> [email protected] <mailto:[email protected]>
>> https://mail.mozilla.org/listinfo/heka
_______________________________________________
Heka mailing list
[email protected]
https://mail.mozilla.org/listinfo/heka