Java实现多个字段的组合模糊搜索

本篇内容为个人原创,这里只讲解基础原理和实现算法,高级应用请结合实际场景进行改造

设想这样一个场景:前端页面的一个搜索框,要想支持2种以上的字段搜索,多个搜索条件之间使用英文逗号隔开(中文逗号也要支持)的模糊搜索,效果如下图:

 

以下是完整的实现算法:

public class SearchUtils {
    private final static String delimiterRegex = ",|,";


    /**
     * 构造多字段的Where查询条件
     *
     * @param stringToBeMatched 查询的字符串
     * @param realFields 映射字段
     * @param searchSymbol 查询标识符
     * @return
     */
    public static String getWhereCriteria(String stringToBeMatched, String[] realFields, String searchSymbol) {
        Pattern pattern
                = Pattern.compile(delimiterRegex);

        MatchResult matcher
                = pattern
                .matcher(stringToBeMatched);

        int position = 0

你可能感兴趣的:(java,算法)