elasticsearch实现分类搜索
来源:互联网 发布:p2p网络借贷融资过程 编辑:程序博客网 时间:2024/05/22 18:42
分类搜索是业务中经常出现的场景。以下是原生api代码。
{ "query": { "multi_match": { "query": "这些都跟你的钱包有关", "type": "most_fields", "fields": [ "documentTitle^1.5", "documentKeywrods^2", "documentContent" ] } }, "filter": { "term": { "categoryId": "1" } }}
在转换程javaAPI后实测后,发现会出现问题。分类过滤失效。以下是转换后的代码
BoolQueryBuilder boolQuery = boolQuery(); boolQuery.should(matchQuery("documentTitle", "这些都跟你的钱包有关").boost(1.5f)); boolQuery.should(matchQuery("documentKeywrods","这些都跟你的钱包有关").boost(2.0f)); boolQuery.should(matchQuery("documentContent", "这些都跟你的钱包有关")); boolQuery.filter(termQuery("category", "1"));
后来发现不能直接在BoolQueryBuilder上设置过滤。正确的写法是下面的代码。
BoolQueryBuilder boolQuery = boolQuery(); boolQuery.should(matchQuery("documentTitle", "这些都跟你的钱包有关").boost(1.5f)); boolQuery.should(matchQuery("documentKeywrods","这些都跟你的钱包有关").boost(2.0f)); boolQuery.should(matchQuery("documentContent", "这些都跟你的钱包有关")); SearchRequestBuilder responsebuilder = client.prepareSearch("index") .setTypes("type") .setQuery(boolQuery) .setPostFilter(termQuery("categoryId", "1"));
阅读全文
0 0
- elasticsearch实现分类搜索
- 基于Elasticsearch实现搜索建议
- elasticsearch 实现联想输入搜索
- Elasticsearch 查询某些分类下相关的搜索
- ElasticSearch学习29_基于Elasticsearch实现搜索推荐
- Spring Data Elasticsearch加Elasticsearch服务实现全文搜索
- 使用 Elasticsearch ik分词实现同义词搜索
- plainelastic.net elasticsearch实现搜索业务
- elasticsearch 搜索
- ElasticSearch搜索
- Elasticsearch 搜索
- [ElasticSearch]搜索
- 分布式搜索elasticsearch java API 使用More like this实现
- elasticsearch实现搜索拼音然后高亮内容
- elasticsearch ik分词实现 中文、拼音、同义词搜索
- Elasticsearch 5.1.1搜索高亮及Java API实现
- elasticsearch-match_phrase_prefix实现查询时输入即搜索
- 实战:Nodejs+Mongodb+Elasticsearch 实现简单的搜索
- 存数据的容器有哪些
- 单例模式
- lintcode:二分查找
- 每天一个linux命令(1):ls命令
- 第一篇:互联网协议入门(上)
- elasticsearch实现分类搜索
- OpenGL阴影,Shadow Mapping(附源程序)
- 相机灰尘探测 -- 苹果
- 详解java定时任务
- Java包装类传递形参
- 操作系统——内存管理
- 剑指offer面试题8:旋转数组的最小数字
- onWindowFocusChanged
- vmvare reahat linux虚拟机下在线安装python