Elasticsearch DSL、存储字段和字典
Elasticsearch DSL, store fields and dictionary
我有一些映射已知的字段和一些未知的字段,我想存储它们。
映射:
class MyDoctype(DocType):
...
known_field = String(index='not_analyzed')
...
unknown_dict = Nested() # How can I store this dict ???
这应该是可能的,因为 ElasticSearch 2.x 可以处理这种混合映射。
ES dsl 是否基于幕后的严格映射?
我还查看了 persistence 文档,但它似乎到处都依赖于强映射。
您可以使用 Object
。
在 Elasticsearch
6.x、Elasticsearch-dsl
6.x
上测试
from elasticsearch_dsl import DocType, Object
class MyDoctype(DocType):
...
known_field = String(index='not_analyzed')
...
unknown_dict = Object()
我有一些映射已知的字段和一些未知的字段,我想存储它们。 映射:
class MyDoctype(DocType):
...
known_field = String(index='not_analyzed')
...
unknown_dict = Nested() # How can I store this dict ???
这应该是可能的,因为 ElasticSearch 2.x 可以处理这种混合映射。 ES dsl 是否基于幕后的严格映射? 我还查看了 persistence 文档,但它似乎到处都依赖于强映射。
您可以使用 Object
。
在 Elasticsearch
6.x、Elasticsearch-dsl
6.x
from elasticsearch_dsl import DocType, Object
class MyDoctype(DocType):
...
known_field = String(index='not_analyzed')
...
unknown_dict = Object()