开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>

1.name是text类型,模糊搜索【张无】,搜索不到,但是模糊搜索【张】可以
2.代码如下
@Field(type = FieldType.Text)
String name;
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); searchSourceBuilder.size(10); searchSourceBuilder.query(QueryBuilders.boolQuery().should(QueryBuilders.wildcardQuery("name.keyword", "*" + "张无" + "*"))); /*searchSourceBuilder.query(QueryBuilders.boolQuery() .must(QueryBuilders.wildcardQuery("sect.keyword","*峨嵋*")) );*/ searchSourceBuilder.sort("age", SortOrder.DESC); searchSourceBuilder.trackTotalHits(true);//索引所有数据总数 System.out.println("查询语句=====================》" + searchSourceBuilder); searchRequest.source(searchSourceBuilder); SearchResponse response = restHighLevelClient().search(searchRequest, RequestOptions.DEFAULT); System.out.println("查询结果=====================》" + JSONObject.toJSON(response));
3.搜索结果
查询结果=====================》{"took":{"hours":0,"nanos":6000000,"minutes":0,"daysFrac":6.944444444444444E-8,"microsFrac":6000.0,"millisFrac":6.0,"seconds":0,"days":0,"micros":6000,"hoursFrac":1.6666666666666667E-6,"secondsFrac":0.006,"stringRep":"6ms","millis":6,"minutesFrac":1.0E-4},"timedOut":false,"shardFailures":[],"successfulShards":6,"totalShards":6,"failedShards":0,"internalResponse":{"fragment":true,"numReducePhases":1},"skippedShards":5,"hits":{"hits":[],"fragment":true,"totalHits":{"value":0,"relation":"EQUAL_TO"},"maxScore":null},"fragment":false,"profileResults":{},"clusters":{"fragment":true,"total":0,"skipped":0,"successful":0},"numReducePhases":1}
回答
name.keyword换成name,或者name给字段添加keyword属性 试试
发表评论