guo173024192 2015-04-30 03:01 采纳率: 0%
浏览 1590

有知道Solr的吗,帮我看看这段代码的意思,加些注释

package com.dragon.sephora.commerce.frontend.search;

import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;

public class CatalogGroupSearchService {

/*
 * 名称(品牌名称、分类名称)
 */
private String name = "";

/*
 * 品牌英文名称
 */
private String brandNameEN = "";

/*
 * 父级标识ID
 */
private String parentCatgroupId = "";


public void searchSolrResult(Integer storeId,Integer langId,String catGroupId){

    try{
        if(StringUtils.isNotEmpty(catGroupId)){

            SolrServer solrServer = SolrServerUtil.initSolrServerInstatnce(storeId, langId, "IBM_extensionProfile_CatalogGroup");
            SolrQuery query = new SolrQuery();
            query.setQuery("catgroup_id:" + catGroupId);
            QueryResponse rsp = solrServer.query( query );
            SolrDocumentList docs = rsp.getResults();
            for (SolrDocument doc : docs) {
                String name = doc.getFieldValue("name") != null?(String)doc.getFieldValue("name"):"";
                String brandENName = doc.getFieldValue("brandEnName") != null?(String)doc.getFieldValue("brandEnName"):"";
                this.setName(name);
                this.setBrandNameEN(brandENName);
                List<Object> parentCatgroupIdList = (List<Object>)doc.getFieldValue("parentCatgroup_id_facet");
                if(parentCatgroupIdList != null && !parentCatgroupIdList.isEmpty()){
                    Object oParentCatgroupId = parentCatgroupIdList.get(0);
                    if(oParentCatgroupId != null){
                        String strParentCatgroupId = (String)oParentCatgroupId;
                        String[] tempArray = strParentCatgroupId.split("_");
                        if(tempArray != null && tempArray.length == 2){
                            this.setParentCatgroupId(tempArray[1] == null?"":tempArray[1]);
                        }
                    }
                }
                break;
            }   
        }
    } catch (SolrServerException e) {
            e.printStackTrace();
    } catch (Exception ex){
        ex.printStackTrace();
    }
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getBrandNameEN() {
    return brandNameEN;
}

public void setBrandNameEN(String brandNameEN) {
    this.brandNameEN = brandNameEN;
}

public String getParentCatgroupId() {
    return parentCatgroupId;
}

public void setParentCatgroupId(String parentCatgroupId) {
    this.parentCatgroupId = parentCatgroupId;
}

}

  • 写回答

3条回答 默认 最新

  • wxshi_java 2015-04-30 07:39
    关注

    通过solr获取相应的域的索引值。

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)