是否有任何分析仪在弹性搜索中执行精确的单词匹配
示例如果,我有像#34; America"和#34;美国人"和#34;美国",如果我搜索"美国"我应该只得到第一个..使用标准分析仪,它给出了所有三个。
我想在查询时确保这一点。我不想对现有索引进行更改。请帮我。
答案 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" }
}
}
}
}'
答案 1 :(得分:0)
你不必担心分析器..在查询时使用术语和术语查询它会像你问的那样表现出来。