es BadRequestError问题情况

es BadRequestError问题情况

问题

bug信息

复制代码
elasticsearch.BadRequestError: BadRequestError(400, 'mapper_parsing_exception', 'failed to parse')

引起错误的代码

python 复制代码
a.save()

bug分析

一开始我以为是版本问题,但是按照配置的字段属性都是正确的,如下:

python 复制代码
# 创建document对象
class Auhtor(Document):
    id = Keyword(),
    name = Text(),
    dynasty = Integer(),
    life = Text(),
    path = Text(),
    url = Text()
    
    class Index:
        name = "author"

然后查看了一下我的数据,发现有一个NaN数据类型,这个数据类型在es中是不存在的

复制代码
id                                                         1
name                                                     武夷君
dynasty                                                    1
life       武夷君又称武夷王、武夷显道真君,是中国民间信奉的神仙之一,属于中国福建武夷山的山神、乡土神。...
path                                                     NaN
url           https://www.gushicimingju.com//shiren/wuyijun/

所以将NaN的数据进行删除

python 复制代码
df.fillna('',inplace=True)

再次运行,错误消失了

完整代码

python 复制代码
from elasticsearch_dsl import (connections,Index,Document,Text,Integer,Keyword)
import pandas as pd
# 连接es
conn = connections.create_connection(hosts=["http://localhost:9200"])

# 创建document对象
class Auhtor(Document):
    id = Keyword(),
    name = Text(),
    dynasty = Integer(),
    life = Text(),
    path = Text(),
    url = Text()
    
    class Index:
        name = "author"

# 判断索引是否存在
if Index('author').exists():
    Index('author').delete()

df = pd.read_csv('./data/author_msg.csv')
df.fillna('',inplace=True)
a_df = df.iloc[0,:]
print(a_df)

a = Auhtor(
    id = a_df['id'],
    name = a_df['name'],
    dynasty = a_df.dynasty,
    life = a_df.life,
    path = a_df.path,
    url = a_df.url,
)
# print(a.url)
a.save()
相关推荐
gptplusplus6 分钟前
超越自动化:为什么说供应链的终局是“AI + 人类专家”的混合智能?
大数据·人工智能
hqyjzsb11 分钟前
2025职场进阶:B端产品经理必备的计算机专业技能精要
大数据·开发语言·人工智能·产品经理·编程语言·caie
Arthurmoo11 分钟前
Git常用命令大全:高效开发必备
大数据·elasticsearch·搜索引擎
桐果云5 小时前
解锁桐果云零代码数据平台能力矩阵——赋能零售行业数字化转型新动能
大数据·人工智能·矩阵·数据挖掘·数据分析·零售
数科星球8 小时前
AI重构出海营销:HeadAI如何用“滴滴模式”破解红人营销效率困局?
大数据·人工智能
萤丰信息11 小时前
智慧工地如何撕掉“高危低效”标签?三大社会效益重构建筑业价值坐标
java·大数据·人工智能·微服务·重构·架构·智慧工地
数说故事11 小时前
数说故事 | 2025年运动相机数据报告,深挖主流品牌运营策略及行业趋势
大数据·人工智能·aigc·数说故事
boonya11 小时前
大数据框架Doris全面解析
大数据
财经三剑客13 小时前
追觅极境冰箱震撼上市:以首创超低氧保鲜科技打造家庭健康中心
大数据·人工智能·科技
SEO_juper13 小时前
E-E-A-T与现代SEO:赢得搜索引擎信任的完整策略
前端·搜索引擎·seo·数字营销·seo优化·谷歌seo