gpt4 book ai didi

python - elasticsearch.exceptions.RequestError : RequestError(400, 'mapper_parsing_exception', 'No handler for type [string] declared on field [texts]')

转载 作者:行者123 更新时间:2023-12-01 01:18:02 32 4
gpt4 key购买 nike

我使用elasticsearch python api来创建映射,但出现了一些错误:

es = Elasticsearch("localhost:9200")
request_body = {
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
},
'mappings': {
'examplecase': {
'properties': {
'tbl_id': {'index': 'not_analyzed', 'type': 'string'},
'texts': {'index': 'analyzed', 'type': 'string'},
}
}
}
}
es.indices.create(index='example_index', body=request_body)

它显示 elasticsearch.exceptions.RequestError: RequestError(400, 'mapper_parsing_exception', 'No handler for type [string]elasted on field [texts]'),我找到了一些解决方案说:在字段类型中使用 text 而不是 string,但也出错了: elasticsearch.exceptions.RequestError: RequestError(400, 'mapper_parsing_exception', '无法解析映射 [examplecase]:无法将 [texts.index] 转换为 bool 值')。 elasticsearch版本是elasticsearch-6.5.4。我该如何处理?

最佳答案

这个

'index': 'analyzed' OR 'index': 'not_analyzed'

是较旧的elasticsearch版本映射,不需要。

您需要做的就是对已分析的字符串字段使用“文本”,对未分析的文本字段使用“关键字”,如下所示:

es = Elasticsearch("localhost:9200")
request_body = {
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
},
'mappings': {
'examplecase': {
'properties': {
'tbl_id': {'type': 'keyword'},
'texts': {'type': 'text'},
}
}
}
}
es.indices.create(index='example_index', body=request_body)

请参阅此处 Elastic 文档中的引用:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html

关于python - elasticsearch.exceptions.RequestError : RequestError(400, 'mapper_parsing_exception', 'No handler for type [string] declared on field [texts]'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54121646/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com