小编Hay*_*ych的帖子

汇总点击量最高的ElasticSearch

我的文档结构如下:

{
   "chefInfo": {
      "id": int,
      "employed": String
      ... Some more recipe information ...
   }
   "recipe": {
      ... Some recipe information ...
   }
}
Run Code Online (Sandbox Code Playgroud)

如果厨师有多个食谱,则chefInfo每个文档中的嵌套块将相同。我的问题是我想对chefInfo文档部分中的字段进行汇总。但是,这并未考虑到该chefInfo块是重复块这一事实。

因此,如果ID为1的厨师有5种食谱,而我正在employed现场进行汇总,则这位特定的厨师将代表汇总中的5个计数,而我希望他们只对一个计数。

我考虑过top_hits对Chef_id 进行汇总,然后想对所有存储桶进行子聚合,但是我无法弄清楚如何对所有存储桶的结果进行计数。

我可能想做什么?

elasticsearch

6
推荐指数
1
解决办法
124
查看次数

让一个进程随机休眠 - Erlang

我想使用计时器类的睡眠功能,我想用它来使进程在0和1之间的随机时间内休眠.

为了做到这一点,我试过:

timer:sleep(random:uniform()).
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误消息:

=ERROR REPORT==== 1-Apr-2014::21:39:32 ===
Error in process <0.472.0> with exit value: {timeout_value,[{timer,sleep,1,       
[{file,"timer.erl"},{line,152}]},{myModule,myFunction,4,[{file,"myModule.erl"},
{line,46}]}]}
Run Code Online (Sandbox Code Playgroud)

这有什么问题?

另外,由于我有相同过程的多个版本,如何确保每个版本以不同的随机数开头?

erlang

5
推荐指数
0
解决办法
4150
查看次数

使用 Spring Actuator 时无法排除 /info 和 /health/{*path}

我正在使用 Spring Actuator(版本 2.2.4.RELEASE)来生成可以正常工作的运行状况检查端点/localhost:8080/my-app/actuator/health

这会生成访问时显示的 3 个端点,/actuator并显示在 Swagger(版本 2)中:

  1. /actuator/health
  2. /actuator/health/{*path}(在我的招摇页面中,这显示为/actuator/health/**
  3. /actuator/info

由于 AWS 的原因,我遇到了问题,health/**想将其删除(我/info也想删除,因为我不需要它)。

我尝试将以下内容添加到我的application.properties文件中:

management.endpoints.web.exposure.exclude=health,info
Run Code Online (Sandbox Code Playgroud)

management.endpoints.jmx.exposure.exclude=health,info
Run Code Online (Sandbox Code Playgroud)

但这没有任何区别(它们仍然会生成)。我曾尝试使用它*来查看是否会强制所有端点消失,但它也不会改变任何内容。

知道如何解决这个问题吗?

编辑1

我发现一个属性文件被另一个文件覆盖。因此,使用以下命令:

management.endpoints.enabled-by-default=false
management.endpoint.health.enabled=true
Run Code Online (Sandbox Code Playgroud)

摆脱/actuator/info端点。但是,我仍然需要摆脱 the/actuator/health/{*path}并保留/actuator/health端点。

swagger spring-boot spring-boot-actuator

5
推荐指数
1
解决办法
6110
查看次数

唤醒睡眠过程 - Erlang

在Erlang被发送到无限的睡眠状态后,是否可以在Erlang中外部唤醒进程?

我想从一个不同的进程中唤醒它,它确实保存了进程的进程ID.

我在我想睡觉的过程中使用了这个:

timer:sleep(infinity)
Run Code Online (Sandbox Code Playgroud)

如果无法将其从外部唤醒,我还有哪些其他选择?

erlang

4
推荐指数
1
解决办法
313
查看次数

在 HTML5 Web Worker 中使用地理定位

我想使用 HTML5 Web Worker 定期向静态服务器报告经度和纬度 - 即使选项卡未处于焦点状态。我的问题是,我通常访问 HTML5地理定位功能的方式在 Web Worker 中不可用。

我尝试过的是将地理位置对象从我的主文件发送到网络工作人员。但是,这不起作用,我收到以下错误:

未捕获的 DataCloneError:无法在“Worker”上执行“postMessage”:无法克隆对象。

接下来,我尝试导入一个 JavaScript 库,该库提供名为Geolocator 的地理定位服务。但后来我发现我无权访问worker中的库(我认为是因为worker无权访问DOM)。

因此,为了解决这个问题,我将这个 JavaScript 库的源代码直接添加到工作文件中,但这不起作用,因为我无权访问在Geolocatorwindow的源代码中重复使用的内容。

我想做的事情可能吗?我可以使用任何替代方案吗?

html javascript geolocation web-worker

4
推荐指数
1
解决办法
2551
查看次数

If Else VS 多个 If 语句

我在编码时总是使用多个 if 语句:

if(logicalCheck){
  ...
}

if(secondLogicalCheck){
  ...
}
Run Code Online (Sandbox Code Playgroud)

并且很少使用If Else。我知道使用我的方式意味着我可以完成不止一项逻辑检查,并且只有一个 if else 链可以发生。

我的问题是,在 C、Java 或 JavaScript 中使用一种方法是否比另一种方法有任何性能优势?使用多个 if 语句有什么特别的错误吗?

javascript c java

3
推荐指数
1
解决办法
4203
查看次数

从用 Node.js 编写的 AWS Lambda 函数调用 Python boto3 库

我有一个用 Node.js 编写的 lambda。我需要到一个电话get_api_key从功能boto3库。我的 Node.js Lambda 函数的精简版在这里:

exports.handler = function(input, context) {
   const spawn = require("child_process").spawn;
   const pythonProcess = spawn('python',["pythonScript.py", "API_KEY_123"]);
   pythonProcess.stdout.on('data', (data) => {
      console.log("DATA FROM PYTHON: ", data);
   });
};
Run Code Online (Sandbox Code Playgroud)

我从这个问题中使用了这个功能。我的 Python 脚本如下所示:

import sys
import boto3

#this is the client
client = boto3.client('apigateway')

apiKey = client.get_api_key(apiKey=sys.argv[1], includeValue=True)
print(apiKey)
Run Code Online (Sandbox Code Playgroud)

我希望console.log在我的 CloudWatch 日志中看到这个 Lambda 函数的结果,但由于没有完成日志记录,我们似乎没有从 Python 脚本中获取任何数据。

我在做我想做的事情吗?Lambda 函数上有一个设置,它说它是用 Node.js 编写的,所以我不知道我在与 Lambda 函数相同的目录中随机制作了一个 Python 脚本的事实是否会导致问题?

如果它可能更容易,我很高兴有一个替代方案。

python amazon-web-services node.js

3
推荐指数
1
解决办法
4466
查看次数

Erlang:是否有从列表中删除所有嵌套元素的函数?

我有这样的清单:

[[[[{a,2},{s,w}],{e,1}],{d,l}]]
Run Code Online (Sandbox Code Playgroud)

是否有一个函数将删除所有元组,因此它们都在同一级别?喜欢:

[{a,2},{s,w},{e,1},{d,l}]
Run Code Online (Sandbox Code Playgroud)

谢谢

erlang

2
推荐指数
1
解决办法
207
查看次数

概念数据模型和 ER 图有什么区别?

我知道概念数据模型和逻辑数据模型之间的区别,但是概念数据模型和 ER 图之间有什么区别?他们看起来非常相似!有什么区别吗?

database-design

2
推荐指数
1
解决办法
3654
查看次数

Heroku上的Python和Node.js.

我已经开始创建一个在Heroku上运行的Node服务器.它工作正常,直到我尝试使用(非官方)Duolingo API.我编写了以下Python脚本来连接到API:

import duolingo
import simplejson as json

lingo  = duolingo.Duolingo('harleyrowland')
print json.dumps(lingo.get_user_info())
Run Code Online (Sandbox Code Playgroud)

我的节点服务器使用以下命令使用它:

var python = require('python-shell');

module.exports = {
  getData: function(callback){
    python.run('duoScript.py', function (err, results) { 
      console.log(err);
      console.log(results);
      var res = JSON.parse(results);
      var language = res.language_data.es.language_string;
      var streak = res.language_data.es.streak;
      var level = res.language_data.es.level;
      var levelPerecentage = res.language_data.es.level_percent;
      var fluency = res.language_data.es.fluency_score;
      var nextLesson = res.language_data.es.next_lesson.skill_title;
      return callback({language, streak, level, levelPerecentage, fluency, nextLesson});
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

这一切都在当地完全没问题.

当我把它推到Heroku时,代码不起作用,我开始在Heroku日志中得到以下错误:

{ [Error: ImportError: No module named duolingo]
     2016-10-06T00:02:32.133315+00:00 app[web.1]:   traceback: …
Run Code Online (Sandbox Code Playgroud)

python heroku node.js

2
推荐指数
2
解决办法
2845
查看次数

io:具有多个变量的格式 - Erlang

我试图使用以下但有多个参数:

io:format("Message number ~s: Blah, blah", [MyNum])
Run Code Online (Sandbox Code Playgroud)

我试过了:

io:format("Message number ~s: ~s", [MyNum, MyMessage])
Run Code Online (Sandbox Code Playgroud)

但是不起作用.这可能与Erlang有关吗?我似乎无法找到任何如何做到这一点的例子.

erlang

1
推荐指数
1
解决办法
1013
查看次数

在For循环中对数组进行硬编码

我正在尝试编写一个需要尽可能短的Java类(逐行).在我的课堂上,我有以下代码:

char[] myArray = {'a', 'b', 'c', 'd'};
for(char c : myArray) ...
Run Code Online (Sandbox Code Playgroud)

为了缩短这个,因为我将一直在迭代相同的字符,我想我可以做这样的事情:

for(char c : {'a', 'b', 'c', 'd'}) ...
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,我在网上找不到任何东西告诉我如何做到这一点(我不确定要搜索什么).

这有可能以不同的方式吗?或者这不能缩短吗?

java

1
推荐指数
1
解决办法
171
查看次数

Scala - Vals和Defs - 反编译

如果在Scala中,这val foo: Int = 0会被反编译为:

private[this] val foo_: Int = 0
def foo: Int = foo_
Run Code Online (Sandbox Code Playgroud)

那么如何def评估它们每次被调用但是val只被评估一次?既然val反编译成了def反正呢?

decompiling scala

1
推荐指数
1
解决办法
61
查看次数