2014-03-12 193 views
0

进行确切的词匹配任何分析仪是否有执行的弹性搜索是否有弹性搜索

例子,如果我有像“美国”,“美国”和“美的”的话确切的词匹配任何分析仪,如果我搜索“美国”,我应该只得到第一个..用标准分析仪,它给出了所有三个。

我想确保这只在查询时间。我不想对现有索引进行更改。请帮帮我。

回答

0

设置映射到not_analyzed

curl -XPOST localhost:9200/test -d '{ 
    "mappings" : { 
     "type1" : { 
      "properties" : { 
       "field1" : { "type" : "string", "index" : "not_analyzed" } 
      } 
     } 
    } 
}' 

这不会做任何你输入的字符串,但仍然允许它进行搜索。请注意,如果您这样做,搜索“美国”将不匹配“美国”,因为大小写有所不同。

如果你想能够匹配那些,那么你应该尝试keyword分析仪。

curl -XPOST localhost:9200/test -d '{ 
     "mappings" : { 
      "type1" : { 
       "properties" : { 
        "field1" : { "type" : "string", "analyzer" : "keyword" } 
       } 
      } 
     } 
    }' 
0

你不必担心仪。而查询使用期限和条件查询时会表现为你问..