如何在弹簧数据弹性搜索中使用部分搜索字符串搜索所有字段

时间:2017-12-11 12:08:13

标签: spring-data-elasticsearch

假设我有一个单词Pavan。我能够用完整的单词“Pavan”获取数据,但当我用“Pav”搜索时。我得到空列表。

1 个答案:

答案 0 :(得分:0)

你可以使用queryString查询,它可以对所有字段进行全文搜索,或者你也可以指定你想要手动搜索的字段 please click this link for more information

@Autowired
private Client client;

   BoolQueryBuilder boolqueryBuilder = new BoolQueryBuilder();

    boolqueryBuilder.should(QueryBuilders
                    .queryStringQuery("*"+querystring+"*")
                    .defaultOperator(Operator.AND).analyzeWildcard(true));

SearchResponse response = client.prepareSearch("your index name")

                .setQuery(boolqueryBuilder).setExplain(true).get();