Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Elastic4s-查找一个项的多个精确值_Scala_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Elastic4s - Fatal编程技术网 elasticsearch,elastic4s,Scala,elasticsearch,Elastic4s" /> elasticsearch,elastic4s,Scala,elasticsearch,Elastic4s" />

Scala Elastic4s-查找一个项的多个精确值

Scala Elastic4s-查找一个项的多个精确值,scala,elasticsearch,elastic4s,Scala,elasticsearch,Elastic4s,我试图筛选一个匹配数组中某个值的项 转播 我试过这个: val res = ESclient.execute { search in "index" query { filteredQuery query { matchall } filter { termsFilter("category", Array(1,2)) } } 但是

我试图筛选一个匹配数组中某个值的项

转播

我试过这个:

    val res =  ESclient.execute {
        search in "index" query {
          filteredQuery query {
            matchall
          } filter {
                   termsFilter("category", Array(1,2))
          }
        }
但是从ES那里得到了一个错误


我该怎么做呢?

调用termsFilter时,该方法需要调用
Any*
的var args,因此
termsFilter(“category”,1,2)
可以工作。但是
termsFilter(“category”,Array(1,2))
被视为一个参数,因为Array当然是任何函数的子类。通过添加
:*
我们强制scala将其视为vars arg调用

因此,这将起作用:

val res =  ESclient.execute {
  search in "index" query {
    filteredQuery query {
      matchall
   } filter {
        termsFilter("category", Array(1,2) : _ *)
   }
}

也许最好的解决方案是更新客户端,使其在Iterables上过载。

Grr。“但是从ES那里得到了一个错误。”什么错误?请看这里@Paul不是一个有意义的错误:
(内部:,{“错误”:“[elastic1][inet[/xxx.xx.xx.xx:9300]][search]”})
它没有堆栈跟踪?。在我有时间测试之前,你能试试termsFilter(“类别”,数组(1,2):*)吗properly@monkjack是的。为什么?我会写一个完整的回复来解释
val res =  ESclient.execute {
  search in "index" query {
    filteredQuery query {
      matchall
   } filter {
        termsFilter("category", Array(1,2) : _ *)
   }
}