0
をboolean型を与える場合elasticsearch DSLで文書を作成することができ、私はエラーない私は、コードを持っている偽の値で
Traceback (most recent call last):
File "/tmp/test.py", line 31, in <module>
doc.save(refresh=True)
File "/usr/lib/python2.7/site-packages/elasticsearch_dsl/document.py", line 240, in save
self.full_clean()
File "/usr/lib/python2.7/site-packages/elasticsearch_dsl/utils.py", line 453, in full_clean
self.clean_fields()
File "/usr/lib/python2.7/site-packages/elasticsearch_dsl/utils.py", line 447, in clean_fields
raise ValidationException(errors)
elasticsearch_dsl.exceptions.ValidationException: {'deleted': [ValidationException('Value required for this field.',)]}
を取得
from elasticsearch_dsl.connections import connections
from elasticsearch_dsl import DocType, String, Boolean
class BaseDoc(DocType):
id = String(required=True, index='not_analyzed')
name = String(required=True)
deleted = Boolean(required=True, null_value=True)
class Meta:
index = 'test'
class MyDoc(BaseDoc):
pass
connections.create_connection(hosts=['localhost:9200'])
MyDoc.init()
doc = MyDoc(id='test', name='test', deleted=False)
doc.save(refresh=True)
以下のようにあなたが見た場合、私はコードでdelete=False
を渡しています私はdocオブジェクトを作成しようとします。
deleted
の値をとっていないときは?
私はdeleted
doc = MyDoc(id='test', name='test')
doc.save(refresh=True)
を削除するとその後も、それは同じエラーを与え、削除がelasticsearch DSLで世話をされていないようです。
はい、私は 'elasticsearch-dsl == 0.0.11'を使用しています。バージョンをアップグレードしてください。 – Nilesh
Iは ' { "バージョン" とバージョンの詳細を持っている:{ "番号": "1.7.6"、 "build_timestamp": "2016-11-18T15:21:16Z"、 "build_snapshot" :偽、 "lucene_version": "4.10.4" }、 "キャッチフレーズ": "あなたが知っている、検索のための" } '' ' だから、これはバージョン番号' 1.7'または '4.10'を持っていますか? – Nilesh
ああ、まだES 1.7.6を使用していますが、おそらく 'elasticsearch-dsl == 2.2.0'にアップグレードすることはできません。 ES 2.4にアップグレードすることは可能ですか? – Val