elasticsearch Elasticsearch映射-asciifolding过滤器
我有一个映射:elasticsearch Elasticsearch映射-asciifolding过滤器,elasticsearch,mapping,ascii,elasticsearch,Mapping,Ascii,我有一个映射: { "settings": { "index": { "refresh_interval": "-1", "number_of_shards": "4", "number_of_replicas": "1", "analysis": { "analyzer": { "lower_ascii"
{
"settings": {
"index": {
"refresh_interval": "-1",
"number_of_shards": "4",
"number_of_replicas": "1",
"analysis": {
"analyzer": {
"lower_ascii": {
"filter": [
"lowercase",
"asciifolding"
],
"type": "custom",
"tokenizer": "standard"
}
}
}
}
},
"mappings": {
"doc": {
"dynamic": "strict",
"properties": {
"field_name": {
"type": "text",
"analyzer": "lower_ascii",
"fielddata": true
}
}
}
}
}
映射中设置了ascifolding和小写筛选器。但是字段的值不是ascii格式,也不是小写格式?有像“Námestie Ludvíka Svobodu”这样的原始弦。。。我是遗漏了什么还是不明白?谢谢你的帮助。我不明白你需要什么。索引时使用此分析器。这意味着您现在可以按小写的“namestie”进行搜索,您将获得您的文档。是的,映射是根据在索引中索引(插入)数据(文档)之前数据的外观来定义的。因此,如果您有不适合映射的数据,那么它将查找
动态
。在您的情况下,dynamic
的值是strict
,这意味着它不会索引不符合映射的文档。这是你想知道的还是你有问题?如果这对你的原创作品没有帮助,请详细说明question@JBone问题是关于lower_ascii Analyzer的,而不是关于dynamic的。@Gillespie59所以数据在进入数据库时以原始格式存储,但索引为ascii和小写?我的困惑是因为我看到的不是索引而是原始数据?也许这会对你有所帮助。文档中的\u source
字段不是elasticsearch索引的内容,而是您发送的文档的内容。因此,是的,它可能包含非ascii字符。要获取索引内容,必须使用端点。例如,GET//\u termvectors/?fields=field\u name
我不明白您需要什么。索引时使用此分析器。这意味着您现在可以按小写的“namestie”进行搜索,您将获得您的文档。是的,映射是根据在索引中索引(插入)数据(文档)之前数据的外观来定义的。因此,如果您有不适合映射的数据,那么它将查找动态
。在您的情况下,dynamic
的值是strict
,这意味着它不会索引不符合映射的文档。这是你想知道的还是你有问题?如果这对你的原创作品没有帮助,请详细说明question@JBone问题是关于lower_ascii Analyzer的,而不是关于dynamic的。@Gillespie59所以数据在进入数据库时以原始格式存储,但索引为ascii和小写?我的困惑是因为我看到的不是索引而是原始数据?也许这会对你有所帮助。文档中的\u source
字段不是elasticsearch索引的内容,而是您发送的文档的内容。因此,是的,它可能包含非ascii字符。要获取索引内容,必须使用端点。例如,GET//\u termvectors/?fields=field\u name