在elasticsearch上查找具有空字符串值的文档

2024-02-25

我一直在尝试使用elasticsearch 仅过滤那些正文中包含空字符串的文档。到目前为止我还没有运气。

在继续之前,我应该提到我已经尝试过many“解决方案”在 Interwebz 和 StackOverflow 上传播。

因此,下面是我尝试运行的查询,然后是其对应项:

{
    "query": {
        "filtered":{
            "filter": {
                "bool": {
                    "must_not": [
                        {
                            "missing":{
                                "field":"_textContent"
                            }
                        }
                    ]
                }
            }
        }
    }
}

我还尝试过以下操作:

 {
    "query": {
        "filtered":{
            "filter": {
                "bool": {
                    "must_not": [
                        {
                            "missing":{
                                "field":"_textContent",
                                "existence":true,
                                "null_value":true
                            }
                        }
                    ]
                }
            }
        }
    }
}

以及以下内容:

   {
    "query": {
        "filtered":{
            "filter": {
                    "missing": {"field": "_textContent"}
            }
        }
    }
}

以上均无效。当我确定存在包含空字符串字段的记录时,我会得到一个空结果集。

如果有人能为我提供任何帮助,我将非常感激。

Thanks!


如果您使用默认分析器(standard) 如果它是空字符串,则没有任何内容可供分析。因此,您需要逐字索引该字段(未分析)。这是一个例子:

添加一个映射,该映射将索引未标记化的字段,如果您还需要索引字段的标记化副本,您可以使用多领域 http://www.elasticsearch.org/guide/en/elasticsearch/reference/0.90/mapping-multi-field-type.html type.

PUT http://localhost:9200/test/_mapping/demo
{
  "demo": {
    "properties": {
      "_content": {
        "type": "string",
        "index": "not_analyzed"
      }
    }
  }
}

接下来,索引几个文档。

/POST http://localhost:9200/test/demo/1/
{
  "_content": ""
}

/POST http://localhost:9200/test/demo/2
{
  "_content": "some content"
}

执行搜索:

POST http://localhost:9200/test/demo/_search
{
  "query": {
    "filtered": {
      "filter": {
        "term": {
          "_content": ""
        }
      }
    }
  }
}

返回带有空字符串的文档。

{
    took: 2,
    timed_out: false,
    _shards: {
        total: 5,
        successful: 5,
        failed: 0
    },
    hits: {
        total: 1,
        max_score: 0.30685282,
        hits: [
            {
                _index: test,
                _type: demo,
                _id: 1,
                _score: 0.30685282,
                _source: {
                    _content: ""
                }
            }
        ]
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在elasticsearch上查找具有空字符串值的文档 的相关文章

随机推荐

  • 如何检索 WordPress 页面的同级页面列表?

    我正在尝试在 WordPress 中创建同级页面 不是帖子 列表来填充页面的侧边栏 我成功编写的代码返回页面父级的标题 据我了解 您需要页面的 id 而不是标题 来检索页面的同级页面 通过wp 列表 页面 http codex wordpr
  • 如何防止使用 git hook 提交文件 (.json)?

    如何防止使用 git hook 提交文件 json 我有一个 json 文件仍在服务器上 所以我不能使用 gitignore 但现在我不想允许任何人更改此文件 提交它 因为它会破坏某些内容 我想使用本地钩子 我怎样才能获得提交中的特殊文件
  • 从今天开始在 Groovy 中计算年龄

    试图根据某人的生日来推测他的年龄 以下代码给出了天数 def now new Date def dob new Date 08 21 1982 println now dob 我们可以除以 365 但这并不完全准确 必须有一种简单的方法来做
  • SQL Server 中函数的返回值

    我想得到从今天开始的最后一个星期六 21 天 为了实现这一目标 我编写了如下所示的脚本 但问题是我无法成功从结果中返回值 我想在 SQL Server 中创建这个函数 并在我想要的存储过程中获取这个值 DECLARE StartDate D
  • C/C++/C# 强制窗口位于顶部

    有没有办法强制another窗口位于顶部 Not应用程序的窗口 但是another一 已经在系统上运行 Windows C C C SetWindowPos that window handle HWND TOPMOST 0 0 0 0 S
  • 为什么 HttpUtility 类无法被识别?

    我正在尝试调用静态HttpUtility UrlEncode在我的 VB NET 项目中 但 IDE 无法识别该类 并表示该类尚未声明 我已经导入了命名空间System Net and System Web到项目 我还在文件顶部添加了以下内
  • 一对一关系的数据库设计

    我正在尝试完成项目数据模型的设计 但很难弄清楚该采用哪种方式 我有一个用户表 以及适用于该用户的未确定数量的属性 这些属性几乎在每种情况下都是可选的 因此允许空值 这些属性中的每一个对于用户来说都是一对一的 我应该将它们放在同一个表上 并在
  • 如果变量在线程之间共享,将变量标记为易失性是否有用? [复制]

    这个问题在这里已经有答案了 Notice 显然我没能向这里的每个人清楚地表达我的观点 这令人难以置信的沮丧 我的目标是消除这样的神话volatile实际上是一个空操作 它什么也不做 我并不是想声明它应该被使用 它是必要的 它不是多余的等等
  • 检测设备品牌

    我正在从事网络分析工作 我正在使用 JavaScript 客户端和 NodeJS 服务器端 我知道我们可以找到答案设备类型 https stackoverflow com questions 11381673 javascript solu
  • Komodo Edit 禁用自动完成

    我正在使用 Komodo Edit 8 它的自动完成功能非常烦人 当我打字时 for i 它会自动填充 for i in range code 现在我必须手动删除它才能继续输入 我尝试关闭 启用自动自动完成和键入时触发的调用提示 from
  • 在现有播放器上启用 YouTube API

    我有一个嵌入式 YouTube 视频 我希望应用 YouTube API 我使用 jQuery 添加 url 参数 如下所示 demo http jsfiddle net VVEY9 document ready function var
  • java字符串日期转换

    我想在存储字符串之前将其转换为日期 并且我使用了 SimpleDateFormat format new SimpleDateFormat yyyy mm dd Date returnDate format parse date 当我使用样
  • 在 MS SQL Server 2008 中创建序列

    我编写了一个程序 可以在其中请求身份证 有不同类型的身份证 红 蓝 绿 当提出请求时 程序应该生成标识号 数字 数字范围 取决于所请求的卡 Red Card 1 50000 Blue Card 50001 100000 Green Card
  • 为什么 VS Code 在 java 文件中显示 System.out.println() 的这些标签或参数名称?

    我已经安装了java扩展包 这件事从今天才开始发生 不确定这是由于某些 json 设置还是其他原因造成的 See 诸如 s x 和 参数名称之类的随机内容出现在我的打印语句中 https github com redhat develope
  • 如何强制执行不同的线程

    我有一个主线程执行一些 CPU 密集型操作 线程必须为其所有计算持有锁 还有一些其他线程偶尔需要在短时间内使用相同的锁 如果没有其他线程 如何强制主线程偶尔允许其他线程执行而不减慢速度 周期性的 lock release time slee
  • Linq Boolean 返回异常 DROPDOWNLIST 有一个无效的 SelectedValue,因为它不存在于项目列表中

    我有一个绑定到 linq 数据源的下拉列表 此下拉列表显示所有弓箭手编号 除了那些在数据库中状态设置为 false 的弓箭手编号 假设我有一条之前创建的记录 现在我想编辑现在设置为 false 的 Bowzer 我遇到了这个异常 我不知道如
  • apache-commons ftp 检索多个文件

    我正在尝试使用 apache commons net FTP lib 从 FTP 服务器获取数据 如果目录中只有 1 个文件 该代码可以正常工作 但在我第二次调用retrieveFileStream 时始终返回 null 有什么想法吗 我编
  • iOS6,UIWebView 和位置:固定

    我们有一个 PhoneGap 应用程序 其导航栏和选项卡栏 实现 为固定位置的 div 参见屏幕 1 在 iOS6 中 当显示键盘时 这些 div 会出现一些奇怪的行为 当我们输入第一个字母时 div 将消失 并显示空白区域 当我们关闭键盘
  • 多处理和 Selenium Python

    我有 3 个驱动程序 Firefox 浏览器 我希望它们能够do something在网站列表中 我有一个工人定义为 def worker browser queue while True id queue get True obj Rev
  • 在elasticsearch上查找具有空字符串值的文档

    我一直在尝试使用elasticsearch 仅过滤那些正文中包含空字符串的文档 到目前为止我还没有运气 在继续之前 我应该提到我已经尝试过many 解决方案 在 Interwebz 和 StackOverflow 上传播 因此 下面是我尝试