入门聊天机器人,使用 ElasticSearch 实现信息检索

本文介绍了如何利用ElasticSearch实现聊天机器人的信息检索。文章讲解了query body的构造,包括bool查询中的must和should用法,以及term和match的区别。通过设置不同的查询条件,可以实现高效的检索策略。同时,还提到了filter和must_not在构建查询时的作用。
摘要由CSDN通过智能技术生成

现在很多聊天机器人厂商实现的方式还是以信息检索为主,比如知识库 FAQ,很实用,很简单,见效快,比如 Chatopera 智能问答引擎

而信息检索系统里,目前最好的、最流行的就是 ElasticSearch,Java写的,底层是 Apache Lucene,ElasticSearch作为优秀的开源搜索引擎解决方案,拥有强大的数据管理能力。其中,怎么高效率的使用 Query 是ElasticSearch的重点。

从一个 query body 开始

{
  "query": {
    "bool": {
      "disable_coord": true,
      "must": [
        {
          "match": {
            "enabled": "1"
          }
        },
        {
          "range": {
            "effectTime": {
              "lt": "2017-06-13 13:33:54"
            }
          }
        },
        {
          "range": {
            "expireTime": {
              "gt": "2017-06-13 13:33:54"
            }
          }
        }
      ],
      "should": [
        {
          "match": {
            "location": {
              "query": "北京",
              "boost": 2.7617
            }
          }
        }
      ]
    }
  },
  "size": 50
}

A query that matches documents matchi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值