使用 elasticsearch-dsl 创建带有 Integer 字段的 DocType class
Creating a DocType class with a Integer field with elasticsearch-dsl
我想使用 elasticsearch-dsl 0.0.9 库,但是他们的例子已经过时了。
我安装了最新版本,Integer 和 Boolean 类型不存在了。
因此他们的示例不起作用。
from datetime import datetime
#There is no 'Integer' in elasticsearch_dsl
from elasticsearch_dsl import DocType, String, Date, Integer
from elasticsearch_dsl.connections import connections
# Define a default Elasticsearch client
connections.create_connection(hosts=['localhost'])
class Article(DocType):
title = String(analyzer='snowball', fields={'raw': String(index='not_analyzed')})
body = String(analyzer='snowball')
tags = String(index='not_analyzed')
published_from = Date()
lines = Integer() ############################## HERE
有人知道如何声明整数字段吗?
谢谢。
编辑
根据此文档https://media.readthedocs.org/pdf/elasticsearch-dsl/latest/elasticsearch-dsl.pdf Integer 类型应该在 0.0.9
中仍然可用
不知道为什么找不到。
正如您从我的 pip 输出中看到的那样,我确实安装了 0.0.9:Downloading elasticsearch_dsl-0.0.9-py2.py3-none-any.whl
Float、Double、Byte、Integer、Boolean、IP 等字段类型在 elasticsearch-dsl
中是动态的 类。如源代码中所述,库本身会创建这些 类。在此处发布文件中的示例代码以供快速参考。如需完整参考,您可以查看文件 elasticsearch_dsl/field.py
.
# generate the query classes dynamicaly
for f in FIELDS:
fclass = _make_dsl_class(Field, f)
globals()[fclass.__name__] = fclass
__all__.append(fclass.__name__)
FIELDS 是一个包含所有这些字段类型的元组。所以基本上回答你的问题,你的 IDE 将显示 类 不可用,但是当你 运行 代码时,它们将自动创建。
从第 212 行检查 here。
我想使用 elasticsearch-dsl 0.0.9 库,但是他们的例子已经过时了。 我安装了最新版本,Integer 和 Boolean 类型不存在了。
因此他们的示例不起作用。
from datetime import datetime
#There is no 'Integer' in elasticsearch_dsl
from elasticsearch_dsl import DocType, String, Date, Integer
from elasticsearch_dsl.connections import connections
# Define a default Elasticsearch client
connections.create_connection(hosts=['localhost'])
class Article(DocType):
title = String(analyzer='snowball', fields={'raw': String(index='not_analyzed')})
body = String(analyzer='snowball')
tags = String(index='not_analyzed')
published_from = Date()
lines = Integer() ############################## HERE
有人知道如何声明整数字段吗?
谢谢。
编辑
根据此文档https://media.readthedocs.org/pdf/elasticsearch-dsl/latest/elasticsearch-dsl.pdf Integer 类型应该在 0.0.9
中仍然可用不知道为什么找不到。
正如您从我的 pip 输出中看到的那样,我确实安装了 0.0.9:Downloading elasticsearch_dsl-0.0.9-py2.py3-none-any.whl
Float、Double、Byte、Integer、Boolean、IP 等字段类型在 elasticsearch-dsl
中是动态的 类。如源代码中所述,库本身会创建这些 类。在此处发布文件中的示例代码以供快速参考。如需完整参考,您可以查看文件 elasticsearch_dsl/field.py
.
# generate the query classes dynamicaly
for f in FIELDS:
fclass = _make_dsl_class(Field, f)
globals()[fclass.__name__] = fclass
__all__.append(fclass.__name__)
FIELDS 是一个包含所有这些字段类型的元组。所以基本上回答你的问题,你的 IDE 将显示 类 不可用,但是当你 运行 代码时,它们将自动创建。
从第 212 行检查 here。