读书人

solr 下拉揭示功能

发布时间: 2013-08-16 14:29:57 作者: rapoo

solr 下拉提示功能

 SolrServer server = new HttpSolrServer(SearchUtils.SOLR_HTTP_SERVER_URL);        SolrQuery params = new SolrQuery();        params.set("qt", "/suggest");        params.set("q", term);        params.set("spellcheck", "on");        params.set("spellcheck.build", "true");        List<String> suggestedWordList = new ArrayList<String>();        List<String> suggestedList = new ArrayList<String>();        try {            QueryResponse qResponse = server.query(params);            SpellCheckResponse spellCheckResponse = qResponse.getSpellCheckResponse();            List<Suggestion> suggestionList = spellCheckResponse.getSuggestions();            for (Suggestion suggestion : suggestionList) {                suggestedWordList = suggestion.getAlternatives();            }            //处理输入拼音方式,不如zhoujielun 提示周杰伦 ,           //其实可以用pinyin4J处理,我为了简单 做demo 临时处理了下            for (String str : suggestedWordList) {                if (str.indexOf(",") > SearchConstants.STATUS_ZERO) {                    suggestedList.add(str.split(",")[1].toString());                } else {                    break;                }            }            if (suggestedList.size() > SearchConstants.STATUS_ZERO) {                JsonUtils.objToJson(suggestedList, response);            } else {                JsonUtils.objToJson(suggestedWordList, response);            }        } catch (Exception e) {            logger.error(Thread.currentThread().getStackTrace()[1].getClass(),                    Thread.currentThread().getStackTrace()[1].getMethodName(), e.getMessage());        }

读书人网 >编程

热点推荐