当满足以下条件时,我正在尝试从弹性搜索索引中获取数据。
UPDATE targetTable
SET LessonTaken = 'Y'
WHERE EXISTS (
SELECT 1
FROM anotherTable
WHERE targetTable.col1 = anotherTable.col2
)
为空字符串(例如“”)stream_id
是特定字符串(例如“unknown_source”)我可以分别使用以下两个查询: 用于检查空字符串:
source_id
用于检查{
"query": {
"filtered": {
"filter": {
"script": {
"script": "_source.stream_id.length() == 0"
}
}
}
}
}
source_id
但现在我看到ES版本2.0中不推荐使用'过滤'查询,我使用的是2.1版。那么,我如何和这两个条件?我查看过滤后的查询页面文档,然后说
使用bool查询代替查询和过滤器的must子句 过滤器的子句。
所以,然后我尝试了以下查询,但它不起作用。
{
"query": {
"bool" : {
"must" : {
"term" : { "source_id" : "unknown_source" }
}
}
}
}
答案 0 :(得分:2)
您可以在$ grep -q $ID file.xml && echo exists
部分内使用$ grep ">${ID}<" file.xml && echo exists
这样做(因为您不关心得分)
bool/must
或者您也可以在查询上下文中保留两个级别(即使您不关心评分)
filter