Thank you very much David Pilato.
OK. Here is my GIST https://gist.github.com/jhsbeat/11342294
In GistTest.java, after I exectued "testPutMappingTemplate()" method, I can
get the mapping below.
{"my_type":{"properties":{"dataId":{"type":"long"},"myFieldList":{"properties":{"myFieldExact":{"type":"string","index":"not_analyzed","omit_norms":true,"index_options":"docs"}}}}}}
However, after I ran "testIndexNewObject()" method, I got the mapping below.
{"my_type":{"properties":{"dataId":{"type":"long"},"myFieldList":{"properties":{"myFieldExact":{"type":"string"}}}}}}
Do I have to remove my whole index and recreate it?
On Sunday, April 27, 2014 6:51:00 PM UTC+9, David Pilato wrote:
>
> I think you are pasting here your actual data.
>
> So it's hard to tell where you are doing something wrong.
>
> May be you could GIST a full curl/SENSE recreation?
>
> --
> David ;-)
> Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs
>
> Le 27 avr. 2014 à 11:36, Ho-sang Jeon <[email protected] <javascript:>> a
> écrit :
>
> Thanks David Pilato.
>
> However, as I mentioned, I could see the correct mappings for the correct
> index and type like below.
>
> curl -XGET http://{my_ip_address}:9200/my_index/my_type/_mapping/
>
> {"my_type":{"properties":{........ "myFieldExact":{"type":"string","index"
> :"not_analyzed","omit_norms":true,"index_options":"docs"},...... }}}
>
>
> After I index a new document into the index I got the changed mapping
> result for the exactly same GET url.
>
> curl -XGET http://{my_ip_address}:9200/my_index/my_type/_mapping/
>
> {"my_type":{"properties":{........ "myFieldExact":{"type":"string"},......
> }}}
>
> Here are some more detailed information.
>
> 1. I'm using Elasticsearch version 0.90.0.
> 2. The field "myFieldExact" is actually in an array. The real
> documents seem like below.
>
>
> myFieldList: [
> {
> myFieldExact: "ABCD-1"
> },
> {
> myFieldExact: "ABCD-2"
> },
> {
> myFieldExact: "ABCD-2"
> }
> ]
>
>
>
> On Sunday, April 27, 2014 5:52:03 PM UTC+9, David Pilato wrote:
>>
>> Probably your first mapping is incorrect or applied to another type or
>> index.
>>
>> --
>> David ;-)
>> Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs
>>
>> Le 27 avr. 2014 à 09:45, Ho-sang Jeon <[email protected]> a écrit :
>>
>> I'm in trouble with the overwriting action of prepareIndex method in
>> Elasticsearch Java API.
>>
>> The problem is that my *mapping definition has changed after new
>> document has indexed.*
>>
>> First of all, I defined an mapping to set "not_analyzed" index for a
>> particular field.
>>
>> String json = myMethodToGetMapping();
>> PutMappingResponse pmrs = client.admin().indices().preparePutMapping(
>> "my_index").setType("my_type").setSource(json).setIgnoreConflicts(true).
>> execute().actionGet();
>>
>>
>> if (pmrs == null || !pmrs.isAcknowledged()) {
>> System.out.println("Put Mapping Failure.");
>> } else {
>> System.out.println("Put Mapping Success.");
>> }
>>
>> In my mapping string(json), there is a field has settings like below.
>>
>> "myFieldExact":{
>> "type":"string",
>> "index": "not_analyzed",
>> "dynamic": false
>> }
>>
>> After the code has executed, I could see the proper mapping which I want
>> to get.
>>
>> curl -XGET http://{my_ip_address}:9200/my_index/my_type/_mapping/
>>
>>
>> {"my_type":{"properties":{........ "myFieldExact":{"type":"string",
>> "index":"not_analyzed","omit_norms":true,"index_options":"docs"},......
>> }}}
>>
>> *HOWEVER*, this mapping has been changed after I put some data using
>> Java API prepareIndex.
>>
>> MyObject myObject = new MyObject();
>> myObject.setMyFieldExact("some-value");
>> String json = new org.codehaus.jackson.map.ObjectMapper().
>> writeValueAsString(myObject);
>> client.prepareIndex("my_index", "my_type", "my_id")
>> .setSource(json).execute().actionGet();
>>
>> The document successfully indexed into "my_index/my_type/my_id".
>>
>> Here is the problem I have.
>>
>> After the new record has been indexed, the original mapping definition
>> has changed like below.
>>
>> curl -XGET http://{my_ip_address}:9200/my_index/my_type/_mapping/
>>
>>
>> {"my_type":{"properties":{........ "myFieldExact":{"type":"string"
>> },...... }}}
>>
>>
>> In short, the *"index":"not_analyzed" property has been gone after the
>> new document has indexed.*
>>
>> Is there anyone can help me?
>>
>> Thank you very much in advance.
>>
>> --
>> 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/5ee40a83-272b-4843-ba6f-f79b78737942%40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/5ee40a83-272b-4843-ba6f-f79b78737942%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>> --
> 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] <javascript:>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/fb95c354-b1ad-4920-940d-e678d430e9fc%40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/fb95c354-b1ad-4920-940d-e678d430e9fc%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>
--
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/e9099a04-6b73-4eb0-b43a-dbc836067005%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.