I am having problem a similar problem too.  Here is how I set it up the 
test index:

Create the index:
curl -s -XPUT 'localhost:9200/test' -d '{
    "mappings": {
        "properties": {
            "name": {
                "street": {
                    "type": "string",
                    "index_analyzer": "not_analyzed",
                    "search_analyzer": "not_analyzed",
                    "index" : "not_analyzed"
                }
            }
        }
    }
}'



Inert some data:
curl -s -XPUT 'localhost:9200/test/name/5' -d '{ "street": ["E Main St"]}'
curl -s -XPUT 'localhost:9200/test/name/6' -d '{ "street": ["W Main St"] }'
curl -s -XPUT 'localhost:9200/test/name/7' -d '{ "street": ["East Main Rd"] 
}'
curl -s -XPUT 'localhost:9200/test/name/8' -d '{ "street": ["West Main Rd"] 
}'
curl -s -XPUT 'localhost:9200/test/name/9' -d '{ "street": ["Main"] }'
curl -s -XPUT 'localhost:9200/test/name/10' -d '{ "street": ["Main St"] }'




--Now attempt to search for "Main"... Not "Main St", Not "East Main Rd"...I 
only want to return doc #9 - "Main"
curl -s -XGET 'localhost:9200/test/_search?pretty=true' -d '{
   "query":{
      "bool":{
         "must":[
            {
               "match":{
                  "street":{
                     "query":"main",
                     "type":"phrase",
                     "analyzer" : "keyword"
                  }
               }
            }
         ]
      }
   }
}';

The best document returned is "Main", but I don't know how to filter out 
the others that are not exact matches (although they contain matching 
terms).
...
Here the results from my example above:
      "_score" : 0.2876821, "_source" : { "street": ["Main"] }
      "_score" : 0.25316024, "_source" : { "street": ["East Main Rd"] }
      "_score" : 0.25316024, "_source" : { "street": ["W Main St"] }
      "_score" : 0.25316024, "_source" : { "street": ["E Main St"]}
      "_score" : 0.1805489, "_source" : { "street": ["Main St"] }
      "_score" : 0.14638957, "_source" : { "street": ["West Main Rd"] }





On Thursday, June 14, 2012 3:38:31 PM UTC-4, Colin Dellow wrote:
>
> Does "index": "not_analyzed" not work for you (
> http://www.elasticsearch.org/guide/reference/mapping/core-types.html) ?
>
>
> On Thursday, 14 June 2012 14:02:28 UTC-4, Greg Silin wrote:
>>
>> Hi,
>> One of our fields in the index stores city names, and we need to ensure 
>> that the term is matched exactly.
>>
>> So if we have "san francisco" indexed, we need to ensure that *only* the 
>> term "san francisco" matches; "san" or "francisco" or "south san francisco" 
>> should all be misses.
>>
>> In particular, I don't have a solution on how to make sure "san 
>> francisco" does not match against "south san francisco"
>>
>> Thanks
>> -greg
>>
>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/42921778-0a92-4a57-ab6f-7f089ebe95ec%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to