我想知道弹性搜索如何将关键字标记化。 例: 因此,我正在使用搜索框搜索评论中的关键字。 当我搜索“ Zelle”时,仅显示西班牙语注释。 enter image description here 但是,如果我搜索“ Zell”,则会显示所有带有“ Zelle”的评论,并突出显示“ Zell”。 enter image description here 谁能告诉我为什么当我搜索某些关键字时,只显示某些特定语言的注释吗?
编辑1: 映射是这样的:
{
"comments" : {
"mappings" : {
"ios" : {
"properties" : {
"content" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"country" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"date" : {
"type" : "date"
},
"language" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"product_id" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"product_version" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"rating" : {
"type" : "long"
},
"title" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"user_language" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
}
}
}
}
,并且令牌生成器没有任何信息。 我应该如何知道哪个Tokenizer用于搜索?
答案 0 :(得分:0)
我建议您阅读官方书籍的Mapping chapter,它将对您有很大帮助。
要回答您的问题,我们需要了解您的文档映射,特别是您要搜索的字段的映射。
从外观上看,您没有使用默认的分析器(称为“ 标准”),因为“ Zell”不会与它匹配“ Zelle”。
在Elasticsearch中,您具有分析器,该分析器可以按您希望的方式标记您的内容。从外观上看,您的映射中已设置了一些分析器,因为“ Zelle”和“ Zell”是匹配的。