一个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));
}