gpt4 book ai didi

python - Elasticsearch不允许我添加较长的字典[TransportError(400)]

转载 作者:行者123 更新时间:2023-12-03 00:40:09 25 4
gpt4 key购买 nike

我正在使用elasticsearch-py在 flex 索引中添加一些字典,
我将字典添加到索引和包含列表的字典,在我的代码中添加了该字典,但它给了我这样的错误:
RequestError: TransportError(400, u'mapper_parsing_exception', u'failed to parse [long_spec]')搜索后,我得到了我应该在 flex 图中添加一些 map ,然后在映射中添加"long_spec":{ "type": "text" }和其他测试"long_spec"{ "type": "string" }的方法,但是它不起作用。

我在python中使用它self.es.index(index="new_index", doc_type='user',body=dict)我的字典是这样的:

{'long_spec': [{'header': u'Design', 'specification': [{u'Device
type:': [u'Smart phone']}, {u'OS:': [u'Android (7.0)']}, {u'Form
factor:': [u'Candybar']}, {u'Dimensions:': [u'6.06 x 3.03 x 0.35
inches (153.9 x 77 x 8.9 mm)']}, {u'Weight:': [u'6.38 oz (181 g)']},
{u'Features:': [u'Fingerprint (touch), Touch sensitive control
keys']}, {u'Keys:': [u'Right: Volume control, Lock/Unlock key']},
{u'Colors:': [u'Black, Gold, Pink']}]}, {'header': u'Display',
'specification': [{u'Physical size:': [u'5.5 inches']},
{u'Resolution:': [u'720 x 1280 pixels']}, {u'\n': [u'267 ppi']},
{u'\n': [u'IPS LCD']}, {u'\n': [u'70.40 %']}, {u'Colors:': [u'16 777
216']}, {u'Touchscreen:': [u'Capacitive, Multi-touch', u'\n']},
{u'Features:': [u'Ambient light sensor, Proximity sensor']}]},
{'header': u'Camera', 'specification': [{u'Camera:': [u'13
megapixels', u'\n', u'LED', u'\n', u'F2.0', u'\n', u'25 mm', u'\n',
u'Dual-camera (13-megapixel, 120-degree viewing angle), Autofocus
(Phase detection)', u'\n', u'Touch to focus, Face detection,
Self-timer, Digital zoom, Geo tagging', u'\n', u'Exposure
compensation, ISO control, White balance presets', u'\n', u'Burst
mode, High Dynamic Range mode (HDR), Panorama', u'\n']},
{u'Camcorder:': [u'1920x1080 (1080p HD) (30 fps)', u'\n', u'Time-lapse
video, Picture-taking during video recording, Digital image
stabilization, Video calling, Video sharing', u'\n']}, {u'Front-facing
camera:': [u'8 megapixels', u'\n', u'Wide Angle, Flash', u'\n']}]},
{'header': u'Hardware', 'specification': [{u'\n': [u'Qualcomm
Snapdragon 430 8937 ']}, {u'\n': [u'Octa-core, 1400 MHz, ARM
Cortex-A53, 64-bit, 28 nm']}, {u'\n': [u'Adreno 505', u'\n']}, {u'\n':
[u'4 GB RAM (800 MHz) / LPDDR2']}, {u'\n': [u'64 GB']}, {u'\n':
[u'microSD, microSDHC, microSDXC up to 256 GB']}]}, {'header':
u'Battery', 'specification': [{u'\n': [u'5000 mAh']}, {u'Type:':
[u'Not user replaceable']}, {u'Fast Charge:': [u'Yes']}, {u'Talk time
(3G):': [u'40.00 hours']}, {u'Stand-by time (4G):': [u'46.0 days (1104
hours)']}, {u'Internet use:': [u'26 hours', u'\n']}, {u'Video
playback:': [u'22.00 hours']}]}, {'header': u'Multimedia',
'specification': [{u'Screen mirroring:': [u'Wireless screen share']},
{u'Music player:': [u'Album, Artist, Genre, Playlists', u'\n', u'Album
art cover, Background playback', u'\n', u'MP3, AAC, FLAC, WAV, M4A
(Apple lossless), AMR, OGG, MIDI', u'\n']}, {u'Video playback:':
[u'MPEG4, H.263, H.264', u'\n']}, {u'Radio:': [u'FM', u'\n']},
{u'Speakers:': [u'Earpiece, Loudspeaker']}, {u'Headphones connector:':
[u'3.5mm']}]}, {'header': u'Cellular', 'specification': [{u'GSM:':
[u'850, 900, 1800, 1900 MHz']}, {u'UMTS:': [u'800, 850, 900,
1700/2100, 1900, 2100 MHz']}, {u'LTE (FDD):': [u'Bands 1, 2, 3, 4, 5,
7, 8, 12, 17, 18, 19, 26, 28']}, {u'LTE (TDD):': [u'Bands 38, 41']},
{u'Data:': [u'LTE Cat 4 (150/50 Mbit/s), HSDPA+ (4G) 42.2 Mbit/s,
HSUPA 5.76 Mbit/s']}, {u'2G Data:': [u'EDGE, GPRS']}, {u'Nano SIM:':
[u'Yes']}, {u'Multiple SIM cards:': [u'2 slots']}, {u'VoLTE:':
[u'Yes']}, {u'Global Roaming:': [u'Yes']}]}, {'header': u'Phone
features', 'specification': [{u'Sensors:': [u'Accelerometer,
Gyroscope, Compass', u'\n']}, {u'Notifications:': [u'Haptic
feedback']}, {u'Phonebook:': [u'Unlimited entries, Caller groups,
Multiple numbers per contact, Search by both first and last name,
Picture ID, Ring ID']}, {u'Organizer:': [u'Calendar, Alarm,
Calculator, World clock, Timer, Stopwatch, Countdown timer']},
{u'Messaging:': [u'SMS, MMS, Threaded view, Predictive text input']},
{u'E-mail:': [u'IMAP, POP3, SMTP, Microsoft Exchange', u'\n']},
{u'Instant Messaging:': [u'Hangouts / Google Talk', u'\n']}, {u'Other
features:': [u'Voice dialing, Voice commands, Voice recording']}]},
{'header': u'Connectivity', 'specification': [{u'Bluetooth:': [u'4.1',
u'\n', u'Advanced Audio Distribution (A2DP), Audio/Visual Remote
Control Profile (AVRCP), Generic Access (GAP), Handsfree (HFP),
Headset (HSP), Message Access Profile (MAP), Object Push (OPP), Phone
Book Access (PBAP)', u'\n']}, {u'Wi-Fi:': [u'802.11 b, g, n', u'\n',
u'Yes', u'\n', u'Yes', u'\n']}, {u'USB:': [u'USB 2.0', u'\n',
u'microUSB', u'\n', u'Mass storage device, USB Host, USB charging',
u'\n']}, {u'Charging connector:': [u'microUSB']}, {u'\n': [u'GPS,
A-GPS, Glonass, BeiDou']}, {u'Navigation:': [u'Turn-by-turn
navigation, Voice navigation']}, {u'Other:': [u'VoIP, Tethering,
Computer sync, OTA sync']}]}, {'header': u'Availability',
'specification': [{u'Officially announced:': [u'17 Aug 2017']}]}]}

最佳答案

每当您要索引的字段的类型与指定的映射不同时,就会得到mapper_parsing_exception。对于您而言, long_spec 字典在各个文档中必须具有不同的数据类型,因此会出现错误。您可以按照以下步骤复制错误:

尝试建立文件索引

PUT regexpindex/product/4
{
"documentId": 1234,
"someOtherInfo": "Product1\\Product1",
"permissions": ["a", "b", "c", "g"]
}

尝试用documentId字段的字符串数据类型索引另一个文档
PUT regexpindex/product/4
{
"documentId": "some-string",
"someOtherInfo": "Product1\\Product1",
"permissions": ["a", "b", "c", "g"]
}

然后您将获得mapper_parsing_exception。

请确保所有文档的所有字段都具有相同的数据类型。如果您认为这些文档的格式有误,也可以忽略这些文档。了解有关 here的更多信息。

关于python - Elasticsearch不允许我添加较长的字典[TransportError(400)],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45965270/

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