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));
}
相关推荐
Elasticsearch2 天前
3个信号、2个环境变量、0个采集器:使用 Python 和 Elastic 的托管 OTLP 端点实现 OpenTelemetry
elasticsearch
Elasticsearch4 天前
如何通过 Claude Code 来写入 CSV 数据到 Elasticsearch
elasticsearch
大志哥1235 天前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch
TableRow6 天前
参数化搜索的实现原理:从多维索引到查询优化
elasticsearch·全文检索
醉颜凉6 天前
Elasticsearch高性能优化:Bulk API大规模数据导入性能调优全攻略
elasticsearch·性能优化·jenkins
星河耀银海6 天前
大模型和搜索引擎到底有什么不一样
人工智能·搜索引擎
Ysouy6 天前
Spring Data Elasticsearch 全流程学习教程
java·spring·elasticsearch
沪飘大军6 天前
goldRush-专门分析黄金的投资理财agent
java·开发语言·elasticsearch
让学习成为一种生活方式6 天前
samblaster v.0.1.26安装与使用--生信工具096
大数据·elasticsearch·搜索引擎