# Mapping Index with Specific Field with CouchbaseDocument

**URL:** <https://discuss.elastic.co/t/mapping-index-with-specific-field-with-couchbasedocument/11126>\
**Category:** Elasticsearch\
**Created:** [March 13, 2013, 7:27am UTC](https://discuss.elastic.co/t/mapping-index-with-specific-field-with-couchbasedocument/11126 "2013-03-13T07:27:35Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Suraj\_Bhansali](https://avatars.discourse-cdn.com/v4/letter/s/9dc877/32.png) [@Suraj\_Bhansali](https://discuss.elastic.co/u/Suraj_Bhansali)\
**Post date:** [March 13, 2013, 7:27am UTC](https://discuss.elastic.co/t/mapping-index-with-specific-field-with-couchbasedocument/11126/1 "2013-03-13T07:27:35Z")

</div>

Hello All,

I have created template for mapping index. I want to map specific filed to  
index. I dont want all filed. Please find below command.

curl -XPUT [http://localhost:9200/fact/Activity/\_mapping](http://localhost:9200/fact/Activity/_mapping) -d " {"Activity"  
: {

"\_all" : { "enabled" : false}, "\_source": { "compress": false },

"properties" : {"ActiveUser" : {"type" : "string", "store" :  
"yes"},

"ActiveOrganization" : {"type" : "string", "store" : "yes"}}}}

In this i have added two field like ActiveUser and Activeorganization into  
fact Index. But when I push data form coucbase then it mapped all fileds  
with same index.I have set \_all filed to false but its not working. I have  
also attched image please check it.

Before push data from coucbase it looks as below. I want only two fields  
like as below

JSON format for mapping which is as below.

After push data from couchbase it mapped all fields with index which is as  
below. I dont want this? How to disable all fileds?

Please help me for same.  
Quick response will be appreciable

Thanks  
Suraj Bhansali

On Wed, Mar 13, 2013 at 11:56 AM, kuwar sahani [kuwarsahani@gmail.com](mailto:kuwarsahani@gmail.com)wrote:

> Hi
> 
> I've created the following Index and mapping :
> 
> Index : curl -XPUT '[http://10.118.192.165:9200/matches](http://10.118.192.165:9200/matches)'
> 
> Mapping:
> 
> curl -XPUT '[http://10.118.192.165:9200/matches/tags\_nested/\_mapping](http://10.118.192.165:9200/matches/tags_nested/_mapping)' -d '  
> {  
> "tags\_nested":{  
> "properties":{  
> "name": {  
> "type": "string"  
> },  
> "total\_runs": {  
> "type": "integer"  
> },  
> "matches\_played": {  
> "type": "string"  
> },  
> "highest\_score": {  
> "type": "string"  
> },  
> "tags": {  
> "type" : "nested"  
> }
> 
> }  
> }  
> }'
> 
> the data inserted is :
> 
> curl XPUT '[http://10.118.192.165:9200/matches/tags\_nested/1](http://10.118.192.165:9200/matches/tags_nested/1)' -d'  
> {  
> "name" : "sachin",  
> "total\_runs" : "500",  
> "matches\_played" : "4",  
> "highest\_score" : "200\*",  
> "tags" :[  
> {  
> "user" : "kuwar",  
> "tag" : "master blaster"  
> },  
> {  
> "user" : "nipun",  
> "tag" : "world class"  
> },  
> {  
> "user" : "mayank",  
> "tag" : "200 not out"  
> }  
> ]
> 
> }'
> 
> curl XPUT '[http://10.118.192.165:9200/matches/tags\_nested/2](http://10.118.192.165:9200/matches/tags_nested/2)' -d'  
> {  
> "name" : "hayden",  
> "total\_runs" : "300",  
> "matches\_played" : "4",  
> "highest\_score" : "110",  
> "tags" :[  
> {  
> "user" : "kuwar",  
> "tag" : "good knock"  
> },  
> {  
> "user" : "nipun",  
> "tag" : "match winning"  
> }  
> ]
> 
> }'
> 
> I want to find the record where the user "kuwar" has a tag "master  
> blaster" . Have designed the following query but it does not give me the  
> result.
> 
> curl -XGET '  
> [http://10.118.192.165:9200/matches/tags\_nested/\_search?pretty=true](http://10.118.192.165:9200/matches/tags_nested/_search?pretty=true)' -d '  
> {  
> "query": {  
> "nested": {  
> "path": "tags",  
> "query":{  
> "filtered": {  
> "query": { "match\_all": {}},  
> "filter": {  
> "and": [  
> {"term": {"tags.user": "kuwar"}},  
> {"term": {"tags.tag": "master blaster"}}  
> ]  
> }  
> }  
> }  
> }  
> }  
> }'
> 
> the query does not give me the result. however if i change tags.tag to  
> "master" instead of "master blaster" the output comes.
> 
> how to solve this problem ?  
> thanks 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 [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

--  
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+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 13, 2013, 7:45am UTC](https://discuss.elastic.co/t/mapping-index-with-specific-field-with-couchbasedocument/11126/2 "2013-03-13T07:45:18Z")

</div>

Elasticsearch stores your document source as is in the \_source field. It does not remove anything.

So you have to remove fields you don't want before sending the document to Elasticsearch.  
You can also create a template saying that you don't want source and that all other fields are not stored and indexed.

But, main question is why do you want to remove some parts of your doc?

## Does it help?

David 😉  
Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs

Le 13 mars 2013 à 08:27, Suraj Bhansali [bhansalisuraj@gmail.com](mailto:bhansalisuraj@gmail.com) a écrit :

Hello All,

I have created template for mapping index. I want to map specific filed to index. I dont want all filed. Please find below command.

curl -XPUT [http://localhost:9200/fact/Activity/\_mapping](http://localhost:9200/fact/Activity/_mapping) -d " {"Activity" : {

"\_all" : { "enabled" : false}, "\_source": { "compress": false },

"properties" : {"ActiveUser" : {"type" : "string", "store" : "yes"},

"ActiveOrganization" : {"type" : "string", "store" : "yes"}}}}

In this i have added two field like ActiveUser and Activeorganization into fact Index. But when I push data form coucbase then it mapped all fileds with same index.I have set \_all filed to false but its not working. I have also attched image please check it.

Before push data from coucbase it looks as below. I want only two fields like as below

JSON format for mapping which is as below.

After push data from couchbase it mapped all fields with index which is as below. I dont want this? How to disable all fileds?

Please help me for same.  
Quick response will be appreciable

Thanks  
Suraj Bhansali

On Wed, Mar 13, 2013 at 11:56 AM, kuwar sahani [kuwarsahani@gmail.com](mailto:kuwarsahani@gmail.com) wrote:

> Hi
> 
> I've created the following Index and mapping :
> 
> Index : curl -XPUT '[http://10.118.192.165:9200/matches](http://10.118.192.165:9200/matches)'
> 
> Mapping:
> 
> curl -XPUT '[http://10.118.192.165:9200/matches/tags\_nested/\_mapping](http://10.118.192.165:9200/matches/tags_nested/_mapping)' -d '  
> {  
> "tags\_nested":{  
> "properties":{  
> "name": {  
> "type": "string"  
> },  
> "total\_runs": {  
> "type": "integer"  
> },  
> "matches\_played": {  
> "type": "string"  
> },  
> "highest\_score": {  
> "type": "string"  
> },  
> "tags": {  
> "type" : "nested"  
> }
> 
> }  
> }  
> }'
> 
> the data inserted is :
> 
> curl XPUT '[http://10.118.192.165:9200/matches/tags\_nested/1](http://10.118.192.165:9200/matches/tags_nested/1)' -d'  
> {  
> "name" : "sachin",  
> "total\_runs" : "500",  
> "matches\_played" : "4",  
> "highest\_score" : "200\*",  
> "tags" :[  
> {  
> "user" : "kuwar",  
> "tag" : "master blaster"  
> },  
> {  
> "user" : "nipun",  
> "tag" : "world class"  
> },  
> {  
> "user" : "mayank",  
> "tag" : "200 not out"  
> }  
> ]
> 
> }'
> 
> curl XPUT '[http://10.118.192.165:9200/matches/tags\_nested/2](http://10.118.192.165:9200/matches/tags_nested/2)' -d'  
> {  
> "name" : "hayden",  
> "total\_runs" : "300",  
> "matches\_played" : "4",  
> "highest\_score" : "110",  
> "tags" :[  
> {  
> "user" : "kuwar",  
> "tag" : "good knock"  
> },  
> {  
> "user" : "nipun",  
> "tag" : "match winning"  
> }  
> ]
> 
> }'
> 
> I want to find the record where the user "kuwar" has a tag "master blaster" . Have designed the following query but it does not give me the result.
> 
> curl -XGET '[http://10.118.192.165:9200/matches/tags\_nested/\_search?pretty=true](http://10.118.192.165:9200/matches/tags_nested/_search?pretty=true)' -d '  
> {  
> "query": {  
> "nested": {  
> "path": "tags",  
> "query":{  
> "filtered": {  
> "query": { "match\_all": {}},  
> "filter": {  
> "and": [  
> {"term": {"tags.user": "kuwar"}},  
> {"term": {"tags.tag": "master blaster"}}  
> ]  
> }  
> }  
> }  
> }  
> }  
> }'
> 
> the query does not give me the result. however if i change tags.tag to "master" instead of "master blaster" the output comes.
> 
> ## how to solve this problem ? thanks 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 [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

--  
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+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

--  
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+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![bhansalisuraj](https://avatars.discourse-cdn.com/v4/letter/b/f08c70/32.png) [@bhansalisuraj](https://discuss.elastic.co/u/bhansalisuraj)\
**Post date:** [March 13, 2013, 8:56am UTC](https://discuss.elastic.co/t/mapping-index-with-specific-field-with-couchbasedocument/11126/3 "2013-03-13T08:56:53Z")

</div>

Hello dadoonet,

Thanks for quick reply,

I have created template that source was disabled but other fields are stored  
and indexed still. I dont want to remove doc, I want only specific field  
with value from this doc. And those fields will be available into Field list  
in Elastic Search cluster. I have created template with those field and they  
are added into list. But when I push data from couchbase to elastic search  
then it added all fields.

Can you please let me now some steps for create template for same.

Thanks  
Suraj Bhansali

--  
View this message in context: [http://elasticsearch-users.115913.n3.nabble.com/Mapping-Index-with-Specific-Field-with-CouchbaseDocument-tp4031551p4031562.html](http://elasticsearch-users.115913.n3.nabble.com/Mapping-Index-with-Specific-Field-with-CouchbaseDocument-tp4031551p4031562.html)  
Sent from the ElasticSearch Users mailing list archive at [Nabble.com](http://Nabble.com).

--  
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+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![Suraj\_Bhansali](https://avatars.discourse-cdn.com/v4/letter/s/9dc877/32.png) [@Suraj\_Bhansali](https://discuss.elastic.co/u/Suraj_Bhansali)\
**Post date:** [March 13, 2013, 12:13pm UTC](https://discuss.elastic.co/t/mapping-index-with-specific-field-with-couchbasedocument/11126/4 "2013-03-13T12:13:08Z")

</div>

Hello dadoonet,

Thanks for quick reply,

I have created template that source was disabled but other fields are  
stored and indexed still. I don't want to remove doc, I want only specific  
field with value from this doc. And those fields will be available into  
Field list in Elastic Search cluster. I have created template with those  
field and they are added into list. But when I push data from couchbase to  
Elasticsearch then it added all fields.

Can you please let me now some steps for create template for same.

On Wednesday, 13 March 2013 12:57:35 UTC+5:30, bhansalisuraj wrote:

> Hello All,
> 
> I have created template for mapping index. I want to map specific filed to  
> index. I dont want all filed. Please find below command.
> 
> curl -XPUT [http://localhost:9200/fact/Activity/\_mapping](http://localhost:9200/fact/Activity/_mapping) -d "  
> {"Activity" : {
> 
> "\_all" : { "enabled" : false}, "\_source": { "compress": false },
> 
> "properties" : {"ActiveUser" : {"type" : "string", "store" :  
> "yes"},
> 
> "ActiveOrganization" : {"type" : "string", "store" : "yes"}}}}
> 
> In this i have added two field like ActiveUser and Activeorganization into  
> fact Index. But when I push data form coucbase then it mapped all fileds  
> with same index.I have set \_all filed to false but its not working. I have  
> also attched image please check it.
> 
> Before push data from coucbase it looks as below. I want only two fields  
> like as below
> 
> JSON format for mapping which is as below.
> 
> After push data from couchbase it mapped all fields with index which is as  
> below. I dont want this? How to disable all fileds?
> 
> Please help me for same.  
> Quick response will be appreciable
> 
> Thanks  
> Suraj Bhansali
> 
> On Wed, Mar 13, 2013 at 11:56 AM, kuwar sahani [kuwarsahani@gmail.com](mailto:kuwarsahani@gmail.com)wrote:
> 
> > Hi
> > 
> > I've created the following Index and mapping :
> > 
> > Index : curl -XPUT '[http://10.118.192.165:9200/matches](http://10.118.192.165:9200/matches)'
> > 
> > Mapping:
> > 
> > curl -XPUT '[http://10.118.192.165:9200/matches/tags\_nested/\_mapping](http://10.118.192.165:9200/matches/tags_nested/_mapping)' -d '  
> > {  
> > "tags\_nested":{  
> > "properties":{  
> > "name": {  
> > "type": "string"  
> > },  
> > "total\_runs": {  
> > "type": "integer"  
> > },  
> > "matches\_played": {  
> > "type": "string"  
> > },  
> > "highest\_score": {  
> > "type": "string"  
> > },  
> > "tags": {  
> > "type" : "nested"  
> > }
> > 
> > }  
> > }  
> > }'
> > 
> > the data inserted is :
> > 
> > curl XPUT '[http://10.118.192.165:9200/matches/tags\_nested/1](http://10.118.192.165:9200/matches/tags_nested/1)' -d'  
> > {  
> > "name" : "sachin",  
> > "total\_runs" : "500",  
> > "matches\_played" : "4",  
> > "highest\_score" : "200\*",  
> > "tags" :[  
> > {  
> > "user" : "kuwar",  
> > "tag" : "master blaster"  
> > },  
> > {  
> > "user" : "nipun",  
> > "tag" : "world class"  
> > },  
> > {  
> > "user" : "mayank",  
> > "tag" : "200 not out"  
> > }  
> > ]
> > 
> > }'
> > 
> > curl XPUT '[http://10.118.192.165:9200/matches/tags\_nested/2](http://10.118.192.165:9200/matches/tags_nested/2)' -d'  
> > {  
> > "name" : "hayden",  
> > "total\_runs" : "300",  
> > "matches\_played" : "4",  
> > "highest\_score" : "110",  
> > "tags" :[  
> > {  
> > "user" : "kuwar",  
> > "tag" : "good knock"  
> > },  
> > {  
> > "user" : "nipun",  
> > "tag" : "match winning"  
> > }  
> > ]
> > 
> > }'
> > 
> > I want to find the record where the user "kuwar" has a tag "master  
> > blaster" . Have designed the following query but it does not give me the  
> > result.
> > 
> > curl -XGET '  
> > [http://10.118.192.165:9200/matches/tags\_nested/\_search?pretty=true](http://10.118.192.165:9200/matches/tags_nested/_search?pretty=true)' -d '  
> > {  
> > "query": {  
> > "nested": {  
> > "path": "tags",  
> > "query":{  
> > "filtered": {  
> > "query": { "match\_all": {}},  
> > "filter": {  
> > "and": [  
> > {"term": {"tags.user": "kuwar"}},  
> > {"term": {"tags.tag": "master blaster"}}  
> > ]  
> > }  
> > }  
> > }  
> > }  
> > }  
> > }'
> > 
> > the query does not give me the result. however if i change tags.tag to  
> > "master" instead of "master blaster" the output comes.
> > 
> > how to solve this problem ?  
> > thanks 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 [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

--  
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+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 2:46am UTC](https://discuss.elastic.co/t/mapping-index-with-specific-field-with-couchbasedocument/11126/5 "2017-07-06T02:46:46Z")

</div>


