Elasticsearch指南说
"每个过滤器都是独立计算和缓存的,无论它在何处使用.如果两个不同的查询使用相同的过滤器,则将重用相同的过滤器位集.同样,如果单个查询在多个位置使用相同的过滤器,则只有一个位集计算然后重复使用." (https://www.elastic.co/guide/en/elasticsearch/guide/current/filter-caching.html)
在另一页上它还说:
"bool子句中的过滤器顺序对于性能很重要.更具体的过滤器应该放在不太具体的过滤器之前,以尽可能多地排除尽可能多的文档.如果条款A可以匹配1000万个文档,条款B只能匹配100份文件,则条款B应放在条款A之前." (https://www.elastic.co/guide/en/elasticsearch/guide/current/_filter_order.html)
我不太明白当每个过滤器独立缓存时,bool子句中的过滤器顺序是如何重要的.
我认为从缓存执行或检索子句B,从缓存执行或检索子句A,然后过滤器位集"合并".为什么订单很重要?
我在我的Android应用程序中使用Jackson 2.8.2来反序列化JSON.反序列化本身可行,但是,我可以在应用程序日志中看到以下警告:
Unable to load JDK7 types (annotations, java.nio.file.Path): no Java7 support added
Run Code Online (Sandbox Code Playgroud)
Proguard被禁用,sourceCompatibility设置为'1.7'.如何在构建中添加这些看似缺失的类型?
我正在尝试创建一个Kotlin REST API,它从PostgreSQL数据库中检索值.现在这些结果中的值是fe "14-10-2016 | 15:48","01-08-2015 | 09:29"所以语法基本上是dd-MM-yyyy | hh:mm
现在我要做的是创建一个函数,按日期排序.(假设这些字符串在一个数组中)
var list = listOf("14-10-2016 | 15:48",
"01-08-2015 | 09:29",
"15-11-2016 | 19:43")
Run Code Online (Sandbox Code Playgroud)
排序这些最干净(最实用)的方法是什么?(所以fe有一种方法,我不必采取当天,月等的子串,将它们转换为a Int,在嵌套循环中比较它们并将结果写入不同的数组?(这是我唯一的方法可以想到).
我不完全确定这是可能的,我绝对不知道要搜索什么或如何简明扼要地解释它,但这似乎是一个很好的事情,如果可能的话我不会感到惊讶.
我想实例化一个列表,listOf()但不是提供列表的元素,而是提供一些代码来生成列表的元素.
例如,使用ResultSet :(这不是有效代码)
val list: List<Int> = listOf(
while(resultSet.next()){
return resultSet.getInt(1)
}
)
Run Code Online (Sandbox Code Playgroud)
这样的事情可能吗?
我正在运行一个带有 hibernate 和 spring-data 的 spring-boot 应用程序。二、有以下方法:
@Service
class SomeService(private val repository : SomeRepository){
fun someEndPoint(request: Request, Id: Long): UUID? {
return try {
val enNumber = repository.callEncrypt(request.accountNumber)
val entity = SomeEntity().apply{
this.id = Id
this.enNumber = enNumber
}
repository.save(entity)
} catch (e: Exception) {
LOGGER.error("someEndPoint",e)
throw e
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我第四次运行此方法时,出现无法获取 JDBC 连接异常。我怀疑当我调用存储过程“callEncrypt”时,hibernate 不会在工作完成后释放连接,因为如果我删除该行,应用程序运行良好,由于 hibernate 正在处理事务,因此无法手动关闭连接(并且没有理由这样做),所以我已经坚持了一段时间,我不知道会发生什么。
奇怪的是,当我使用 sp_who 过程在 sql server 中查找活动连接时,没有活动连接,我现在唯一的解决方案是重新启动应用程序。如果我重新启动应用程序一切正常,直到我再次运行这个函数第四次,所以很明显 hibernate 永远不会释放连接。
这是完整的堆栈跟踪:
org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: Unable …Run Code Online (Sandbox Code Playgroud) 我想知道是否可以将 lambda 传递给 kotlin 中的 Intent,因为 lambda 是可序列化的,但是使用这段代码,我在创建 PendingIntent 时遇到错误。
val bundle = bundleOf(ACTION to { pause() })
val playButtonIntent = Intent(this, MusicService::class.java).apply {
putExtras(bundle)
}
val pendingPlayIntent = PendingIntent.getService(this, 1, playButtonIntent, 0)
Run Code Online (Sandbox Code Playgroud)
错误:
java.lang.RuntimeException: Parcelable encountered IOException writing serializable object
Run Code Online (Sandbox Code Playgroud) 在Java中,如果要记录包,则必须将其放入package-info.class文件中.对于Kotlin和KDoc来说,这仍然是一回事吗?我查看了一些Kotlin源代码,无法找到编写包文档的位置.
在Kotlin中,我看到我可以覆盖一些运算符,例如+通过函数plus()和*函数times()...但是对于像集合这样的东西,首选(集合论)符号/运算符不存在.例如A?B,交集和A?B联合.
我似乎无法定义自己的运算符,没有明确的语法来说明用于运算符的符号.例如,如果我想$$为运算符创建一个函数:
operator fun String.$$(other: String) = "$this !!whatever!! $other"
// or even
operator fun String.whatever(other: String) = "$this !!whatever!! $other" // how do I say this is the $$ symbol?!?
Run Code Online (Sandbox Code Playgroud)
我得到两个相同的错误:
错误:(y,x)Kotlin:'operator'修饰符不适用于此函数:非法函数名称
可以创建或覆盖运营商的规则是什么?
在Kotlin,我正在编写一个构建器,并且需要一系列明显且必须完成的步骤.使用流畅的构建器,我可以显示所有步骤,但不能确定它们必须发生的顺序,也不能根据上一步更改哪些步骤可用.所以:
serverBuilder().withHost("localhost")
.withPort(8080)
.withContext("/something")
.build()
Run Code Online (Sandbox Code Playgroud)
很好,但随后添加SSL证书等选项:
serverBuilder().withHost("localhost")
.withSsl()
.withKeystore("mystore.kstore")
.withContext("/secured")
.build()
Run Code Online (Sandbox Code Playgroud)
现在没有什么能阻止非ssl版本拥有withKeystore和其他选项.在没有首先打开的情况下调用此SSL方法时应该出错withSsl():
serverBuilder().withHost("localhost")
.withPort(8080)
.withContext("/something")
.withKeystore("mystore.kstore") <------ SHOULD BE ERROR!
.build()
Run Code Online (Sandbox Code Playgroud)
在路上有更多的叉子可能会更复杂,我只想要一些物品而不是其他物品.
如何限制构建器逻辑中每个分支可用的功能?这对建筑商来说是不可能的,而应该是DSL吗?