“文本”或“关键字”类型字段的 Elasticsearch 术语查询问题

问题描述

"hits" : [  
  { 
    "id": 1,"sampleArrayData": ["x"]
  },{ 
    "id": 2,"sampleArrayData": ["y"]
  },{ 
    "id": 3,"sampleArrayData": ["z"]
  },{ 
    "id": 4,"sampleArrayData": ["x","y","z"]
  },{ 
    "id": 5,"sampleArrayData": ["z","w"]
  }
]

这是索引的示例数据。

我想通过 sampleArrayData 字段搜索此索引,其中包含一个或多个我将动态提供的值。

例如,如果要通过 ["x","y"] 参数搜索此索引。我必须获得包含“x”或“y”或同时包含“x”、“y”的数据。 (此索引中的前三个记录)。 我们可以通过在旧的弹性搜索版本上使用术语查询来做到这一点,如下所示。

{
   "query": {
      "bool": {
         "must": [
            {
               "terms": {
                  "sampleArrayData": [ "x","y"]
               }
            }
         ]
      }
   }
}

但是我们不能在elasticsearch当前版本上对“文本”或“关键字”类型的字段使用terms查询

如何在 C# nesT 库中使用未知数量的参数动态搜索此索引?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...