ElasticSearch索引和搜索词匹配的一些细节

一个item"麦当劳":被切词成"麦当 + 劳"

那么这个item的索引有2个term:"麦当","劳"

那么下面代码,

能召回这个item的代码:

java 复制代码
//可以召回这个item

ArrayList<String> tokens = new ArrayList<String>();
tokens.add("麦当");
tokens.add("劳");

BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
for (String token : tokens) {
    boolQueryBuilder.must(new TermQueryBuilder(ITEM_NAME_FIELD, token));
}

能召回这个item的代码:

java 复制代码
//可以召回这个item

ArrayList<String> tokens = new ArrayList<String>();
tokens.add("麦当");

BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
for (String token : tokens) {
    boolQueryBuilder.must(new TermQueryBuilder(ITEM_NAME_FIELD, token));
}

不能召回这个item的代码:

java 复制代码
//不能召回这个item

ArrayList<String> tokens = new ArrayList<String>();
tokens.add("麦当");
tokens.add("肯德");
BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
for (String token : tokens) {
    boolQueryBuilder.must(new TermQueryBuilder(ITEM_NAME_FIELD, token));
}
相关推荐
INFINI Labs11 小时前
Elasticsearch 备份:方案篇
大数据·elasticsearch·搜索引擎·gateway·snapshot·backup·ccr
NickBi13 小时前
龙芯 LoongArch64编译es7.17.20
后端·elasticsearch
渣渣盟13 小时前
中文分词技术全解析
搜索引擎·全文检索·lucene
会飞的小蛮猪19 小时前
Prometheus运维之路(ES监控接入)
elasticsearch·监控·自动化运维
贝多芬也爱敲代码1 天前
如何减小ES和mysql的同步时间差
大数据·mysql·elasticsearch
深思慎考1 天前
ElasticSearch与Kibana 入门指南(7.x版本)
大数据·elasticsearch·jenkins
problc2 天前
PostgreSQL + Redis + Elasticsearch 实时同步方案实践:从触发器到高性能搜索
redis·elasticsearch·postgresql
Elastic 中国社区官方博客2 天前
如何减少 Elasticsearch 集群中的分片数量
大数据·数据库·elasticsearch·搜索引擎·全文检索
顧棟2 天前
【ES实战】ES6.8到9.1.4的常用客户端变化
elasticsearch