【ES从入门到实战】十一、全文检索-ElasticSearch-进阶-match全文检索

接第10节

3)、match【匹配查询】

  • 基本类型(非字符串),精确匹配

match 返回 account_number=20 的数据:

GET /bank/_search
{
  "query": {
    "match": {
      "account_number": 20
    }
  }
}

在这里插入图片描述

  • 字符串,全文检索

最终查询出 address 中包含 Kings 单词的所有记录,当搜索字符串类型的时候,会进行全文检索,并且每条记录有相关性得分。

GET /bank/_search
{
  "query": {
    "match": {
      "address": "Kings"
    }
  }
}

在这里插入图片描述

  • 字符串,多个单词(分词+全文检索)

全文检索按照评分进行排序,会对检索条件进行分词匹配

GET /bank/_search
{
  "query": {
    "match": {
      "address": "Mill Lane"
    }
  }
}

最终查询出 address 中包含 Mill 或者 Lane 或者 Mill Lane 的所有记录,并给出相关性得分
在这里插入图片描述

参考文档-query-dsl


参考:

Elasticsearch Reference

elastic

全文搜索引擎 Elasticsearch 入门教程

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Java中使用Elasticsearch进行全文检索,需要先安装和配置Elasticsearch。然后,你可以使用JavaElasticsearch客户端库来建立连接并执行查询。 以下是一个简单的Java程序,演示如何使用Elasticsearch进行全文检索: ```java import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Map; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.InetSocketTransportAddress; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.transport.client.PreBuiltTransportClient; public class ElasticsearchExample { public static void main(String[] args) throws UnknownHostException { // 创建客户端 TransportClient client = new PreBuiltTransportClient(Settings.EMPTY) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300)); // 查询 SearchResponse response = client.prepareSearch("index_name") .setQuery(QueryBuilders.matchQuery("field_name", "search_text")) .setSize(10) .get(); // 处理结果 for (SearchHit hit : response.getHits().getHits()) { Map<String, Object> source = hit.getSource(); // 对source进行处理 } // 关闭客户端 client.close(); } } ``` 在上面的例子中,我们使用了ElasticsearchJava客户端库,并创建了一个TransportClient实例。然后,我们使用prepareSearch()方法来构建查询,setQuery()方法设置查询条件,setSize()方法设置返回结果的数量,并使用get()方法执行查询并获取结果。 最后,我们遍历结果并处理每个搜索结果。请注意,我们可以从SearchHit对象中获取源数据,并使用它进行进一步的处理。 这只是一个简单的示例,你可以根据自己的需求来调整和扩展它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值