Actually, change it to "index": "not_analyzed" as shown in the JSON.

On Wednesday, October 29, 2014 5:13:46 PM UTC-7, Mike Maddox wrote:
>
> Actually, there are two problems here. Change the analyzer to the name of 
> your custom analyzer and you are missing a curly brace to close out the 
> "settings" property. Not sure why it doesn't cause an error but it 
> definitely doesn't create a mapping. You can check if there is a mapping by 
> looking at: http://localhost:9200/myindex/_mapping
>
> Here is how it should be:
>
>
> {
>   "settings": {
>     "analysis": {
>       "analyzer": {
>         "my_analyzer": {
>           "type": "custom",
>           "tokenizer": "keyword",
>           "lowercase": true
>         }
>       }
>     }
>   },
>   "mappings": {
>     "episode": {
>       "_source": {
>         "enabled": false
>       },
>       "properties": {
>         "color": {
>           "type": "string",
>           "index": "not_analyzed"
>         }
>       }
>     }
>   }
> }
>
> On Wednesday, October 29, 2014 2:38:36 PM UTC-7, Jarrod C wrote:
>>
>> Hello, I am trying to run a query that distinguishes between spaces in 
>> values.  Let's say I have a field called 'color' in my index.  Record 1 has 
>> "color" : "metallic red" whereas Record 2 has "color": "metallic" 
>>
>> I want to search for 'metallic' but NOT retrieve 'metallic red', and a 
>> search for 'metallic red' should not return 'red'.  
>>
>> The query below works for 'metallic red' but entering 'red' returns both 
>> records.  The query also appears to be bypassing Analyzers specified in the 
>> mappings (such as keyword) as they have no affect.  What should I change it 
>> to instead?
>>
>> //Query
>> GET /myindex/_search
>> {
>>    "query": {
>>        "match_phrase": {
>>           "color": "metallic red"
>>        }   
>>    }
>> }
>>
>> //Data
>> { "index" : { "_index" : "myindex", "_type" : "car", "_id" : "1" } }
>> { "color" : "metallic red" }
>> { "index" : { "_index" : "myindex", "_type" : "car", "_id" : "2" } }
>> { "color" : "Metallic RED"}
>> { "index" : { "_index" : "myindex", "_type" : "car", "_id" : "3" } }
>> { "color" : "rEd" }
>>
>> //Mapping (no effect for query)
>> curl -XPUT 'http://localhost:9200/myindex/' -d '{
>>     "settings" : {
>>       "analysis": {
>>             "analyzer": {
>>               "my_analyzer":{
>>                         "type": "custom",
>>                         "tokenizer" : "keyword",
>>                         "lowercase" : true
>>                     }
>>             }
>>     },
>>     "mappings" : {
>>         "episode" : {
>>             "_source" : { "enabled" : false },
>>             "properties" : {
>>                 "color" : { "type" : "string", "analyzer" : 
>> "not_analyzed" }
>>             }
>>         }
>>     }
>> }
>> }'
>>
>>
>> Thanks!
>>
>

-- 
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/220d0be3-c86d-4473-b957-b90b35d3da80%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to