The documentation稀疏,并不完全有用。所以说我的属性有以下字段:
{
"my_index": {
"mappings": {
"my_type": {
"my_attribute": {
"mapping": {
"my_attribute": {
"type": "string",
"analyzer": "my_analyzer",
"fields": {
"lowercased": {
"type": "string"
},
"raw": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
}
}
}
my_analyzer
小写令牌(除了其他东西)。
所以现在我想知道以下陈述是否属实:
my_analyzer
未应用于raw
,因为not_analyzed
索引没有任何分析器,顾名思义。my_attribute
和my_attribute.lowercased
完全相同,因此拥有字段my_attribute.lowercased
答案 0 :(得分:1)
你的第一个陈述是正确的,但第二个陈述不是。 my_attribute
和my_attribute.lowercased
可能不一样,因为前者有自定义 my_analyzer
搜索和索引分析器,而my_attribute.lowercased
有{{3} (因为没有指定分析器,标准的分析器开始)。
此外,您的映射不正确,它应该是这样的:
{
"mappings": {
"my_type": {
"properties": {
"my_attribute": {
"type": "string",
"analyzer": "my_analyzer",
"fields": {
"lowercased": {
"type": "string"
},
"raw": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
}