小编Bri*_*box的帖子

ElasticSearch文档说不要将滚动用于用户请求,仅用于数据转换

我是ES的新手,并且对其滚动文档感到困惑.从文档" 滚动不是用于实时用户请求,而是用于处理大量数据,例如,为了将一个索引的内容重新索引到具有不同配置的新索引中 ".

然而......在同一页面上,它表示不使用from()和size()进行分页,因为它" 非常低效 ".在描述搜索的Java API页面上,它显示了通过Scroll进行分页的示例.

所以,假设我想要一次显示排序的搜索结果,一个页面,建议使用哪种方法:from/size还是Scrolling?

elasticsearch

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

AWS AutoScaling是否有可能永远不会终止实例直到可计费小时边界?

由于AWS实例按小时计费,因此如果有可能再次需要,则终止已运行不到一小时的实例是没有意义的.

我想避免一个自动缩放的情况,我添加一个实例,然后终止它,然后在同一小时内添加另一个实例.这将导致两个可计费小时.

我编写了自己的自动缩放器,它跳过了终止任何运行时间少于55分钟的实例,并且为了快速更改负载,这为我们节省了大量的费用.只是想知道AWS本身是否具备此功能.

billing amazon-web-services autoscaling

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

一个Yeoman生成的Angular应用程序工作正常,直到我添加['ngResource']然后它挂起

我用"yo angular"创建了一个AngularJS应用程序,运行"grunt server --force"并进入'Allo,Allo'成功屏幕.

当我添加['ngResource']如下所示时,它似乎挂起......或者浏览器中至少没有显示任何内容.

我们尝试添加$ resource作为函数的参数.我试图实际使用资源但没有运气.我没有在Web控制台中看到任何错误.我们验证了angular-resource.js列在components/angular-resources中.

这感觉就像一个愚蠢的新手错误,但它让我们陷入困境.

'use strict';
angular.module('a3App', ['ngResource'])
  .factory('myService', function () {
  var foo = 42;
  return {
    someMethod: function() {
       return foo;
    }
   };
});

angularjs yeoman

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

EC2实例可以拒绝自动终止吗?

有没有办法让自动扩展组中的EC2实例拒绝缩小的终止请求?我处于高动态负载的情况......我不想终止其充电时间第一部分的实例.即使使用autoscale策略loststToNextInstanceHour,我也会看到一个实例终止的情况,该实例在其当时剩下40分钟......并且在40分钟内负载再次增加.

所以,我希望我的实例能够"谢谢你让我终止但我拒绝了".这可能吗?

amazon-ec2 amazon-web-services autoscaling

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

如何在编译器插件中找到Scala程序中的语句?

我正在编写一个Scala编译器插件,并且已经开始编写"apply(unit:CompilationUnit"方法).该方法中的语法超出了我的范围.以下代码来自http://www.scala-lang .ORG /节点/ 140

    for ( tree @ Apply(Select(rcvr, nme.DIV), List(Literal(Constant(0)))) <- unit.body;
         if rcvr.tpe <:< definitions.IntClass.tpe) {
        unit.error(tree.pos, "definitely division by zero")
      }
Run Code Online (Sandbox Code Playgroud)

该表达式将所有除以零.我无法弄清楚如何做类似的事情来找到所有可执行语句(TermTrees ??).

compiler-construction plugins scala

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

如何在案例类中使用Scala reduceLeft?

我理解如何在简单的整数列表上使用reduceLeft,但尝试在case类对象失败时使用if.

假设我有:

  case class LogMsg(time:Int, cat:String, msg:String)
  val cList = List(LogMsg(1,"a", "bla"), LogMsg(2,"a", "bla"), LogMsg(4,"b", "bla"))
Run Code Online (Sandbox Code Playgroud)

我想找到LogMsgs之间最大的时间差异.我想做的事情如下:

cList.reduceLeft((a,b) => (b.time - a.time)
Run Code Online (Sandbox Code Playgroud)

这当然不起作用.
reduceLeft的第一次迭代比较前两个元素,它们都是LogMsg类型.之后,它将下一个元素(LogMsg)与第一次迭代(Int)的结果进行比较.

我只是语法错误或者我应该采取另一种方式吗?

scala

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

在两次执行建议之前...对于相同的方法两次列出相同的连接点,因此两次被调用

我们使用自定义注释实现了“之前”建议,以便仅在应用(对此问题不感兴趣)业务逻辑时执行某些方法。

我们看到该方法的每次调用都调用了两次方面。

调试它时,我看到Cglib2AopProxy$CglibMethodInvocation.proceed有一个名为:的数组 interceptorsAndDynamicMethodMatchers。该数组列出了PointCut ("RequiresX")两次。

这是连接点:

@Before(@annotation(requiresX)”)
public Object process(ProceedingJoinPoint joinPoint, RequiresACL requiresX) throws Throwable
{
    Method method = ((MethodSignature) joinPoint.getSignature()).getMethod();
    log.info(" method:" + method.getName());

    // do business logic of the aspect…

    log.info(" joinPoint.proceed with call to " + method.getName());
 }
Run Code Online (Sandbox Code Playgroud)

这是我们的自定义注释

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.Method)
public @interface RequiresX {
}
Run Code Online (Sandbox Code Playgroud)

这是我们可以拦截的方法:

@RequiresX()
public String someMethod() {    
    ....
}
Run Code Online (Sandbox Code Playgroud)

这似乎很香草,但显然我做错了。任何关于如何在每次呼叫中仅执行一次建议的建议将不胜感激。

java aop aspectj aspect

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

AWS lambda发送SNS"成功"但不发送实际发送的消息

我编写了一个AWS lambda函数,用于在上传S3对象时发送文本消息.我已经确认了订阅,我可以收到SNS控制台发送的测试消息.

当我测试lambda时,所有日志都说方法成功,但没有任何子消息到达.这是函数(主要是示例模板,但在本文中为了安全性而改变了我的主题).任何有关测试/尝试下一步的提示都会受到赞赏.

console.log('Loading function');
var aws = require('aws-sdk');
var s3 = new aws.S3({ apiVersion: '2006-03-01' });
exports.handler = function(event, context) {
    var bucket = event.Records[0].s3.bucket.name;
    var key = decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, ' '));
    var params = {
        Bucket: bucket,
        Key: key
    };
    var sns = new aws.SNS();
    console.log('start of brians sns function')
    var pubResult = sns.publish({
        Message: 'Test publish to SNS from Lambda',
        TopicArn: 'arn:aws:sns:us-east-1:xxxxxxxxxxxx:lambdatop'
    }, function(err, data) {
        if (err) {
            console.log(err.stack);
            return;
        }
        console.log('push sent');
        console.log(data);
    });
    console.log('after sns …
Run Code Online (Sandbox Code Playgroud)

lambda amazon-web-services node.js amazon-sns

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