elasticsearch Elasticsearch映射-asciifolding过滤器,elasticsearch,mapping,ascii,elasticsearch,Mapping,Ascii" /> elasticsearch Elasticsearch映射-asciifolding过滤器,elasticsearch,mapping,ascii,elasticsearch,Mapping,Ascii" />

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