有人可以指出我_source在 elasticsearch dsl python 客户端中使用扫描 API 时如何从生成器中提取结果吗?
例如,我正在使用(从这个例子中,elasticsearch-dsl scan)
for hit in s.scan():
print(hit)
Run Code Online (Sandbox Code Playgroud)
我得到以下
<Hit(beacon/INDEX/_Mwt9mABoXXeYV0uwSC-): {'client_number': '3570', 'cl...}>
Run Code Online (Sandbox Code Playgroud)
如何从命中生成器中提取字典?
有人可以告诉我如何使用这个dsl python模块构建这个示例查询?
我到目前为止只有一部分查询字符串.
from elasticsearch_dsl import Search, Q, A, query, aggs
s = Search()
s.aggs.bucket('2', 'terms', field = 'Subscriber Type', size=5)
Run Code Online (Sandbox Code Playgroud)
我不确定查询的其余部分的语法是什么.任何帮助深表感谢.
所需的查询结构如下.
{
"size": 0,
"query": {
"filtered": {
"query": {
"query_string": {
"query": "lincoln",
"analyze_wildcard": true
}
},
"filter": {
"bool": {
"must": [
{
"range": {
"Start date": {
"gte": 936157359664,
"lte": 1472701359665,
"format": "epoch_millis"
}
}
}
],
"must_not": []
}
}
}
},
"aggs": {
"2": {
"terms": {
"field": "Subscriber Type",
"size": 5,
"order": …Run Code Online (Sandbox Code Playgroud) 我正在努力通过路由器将我在 Centos7 家庭服务器上设置的 Mosquitto 暴露给外部互联网。
Mosquitto 在我的本地主机上运行良好,并在家庭服务器上发布 1883。我能够发布/订阅,并且它正在侦听端口为 127.0.0.1:1883 (tcp)
我的家用路由器有一个动态 IP(目前),比如 76.43.150.206。在路由器上,我将 1883 作为内部/外部端口转发到我的家庭服务器,比如 192.168.1.100。
在 mosquitto.conf 文件中,我只有一行“listener 1883 76.43.150.206”。
当我尝试在外部计算机上使用 python 客户端作为 mqttc.connect("76.43.150.206", 1883) 发布/订阅时,它说连接被拒绝。
关于我做错了什么或如何让它工作的任何提示?顺便说一句,我对这个设置的理解是非常基本的,而且我几乎一直在写博客。