Problem ignoring fields


(Shashi) #1

Hello Everyone,

How can I ignore all new fields in Elastic Search?

I have created mapping and loaded data in to ES, and things are fine.
Some of the data of mine comes from client, and different clients send
data in different formats.

I am seeing a new field these days, and some clients sent that in
number format, and some in date. I think ES first looked at number and
updated the mapping as "long". Now all the documents that have date
are failing to get updated with number format exception.

My Issue is, the data I am interested in is already mapped by me. I
don't worry if new fields get indexed or not, but I don't want an
operation to fail with exceptions.

For example, if my initial mapping is for
{user : "shashi"}

and if two other documents are
{user : "shashi", created : 133333}, and {user : "ramu", created:
"2012-03-15T00:04:29.054Z"}

I at least want the "user" field to be indexed, as I am mainly
interested in that. I don't mine if rest is indexed or not, and I
don't know about those additional fields in advance.

What do I need to do?

Thanks in advance,
Shashi


(Shay Banon) #2

Check the dynamic option here:
http://www.elasticsearch.org/guide/reference/mapping/object-type.html (you
can place it at the root object). You can set it to false, and it will
ignore anything that is not mapped by you.

On Fri, Mar 16, 2012 at 6:58 PM, Shashi shaship2@gmail.com wrote:

Hello Everyone,

How can I ignore all new fields in Elastic Search?

I have created mapping and loaded data in to ES, and things are fine.
Some of the data of mine comes from client, and different clients send
data in different formats.

I am seeing a new field these days, and some clients sent that in
number format, and some in date. I think ES first looked at number and
updated the mapping as "long". Now all the documents that have date
are failing to get updated with number format exception.

My Issue is, the data I am interested in is already mapped by me. I
don't worry if new fields get indexed or not, but I don't want an
operation to fail with exceptions.

For example, if my initial mapping is for
{user : "shashi"}

and if two other documents are
{user : "shashi", created : 133333}, and {user : "ramu", created:
"2012-03-15T00:04:29.054Z"}

I at least want the "user" field to be indexed, as I am mainly
interested in that. I don't mine if rest is indexed or not, and I
don't know about those additional fields in advance.

What do I need to do?

Thanks in advance,
Shashi


(system) #3