package com.paic.icore.ph.integration.sao.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.response.SpellCheckResponse;
import org.apache.solr.client.solrj.response.SpellCheckResponse.Suggestion;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import com.paic.icore.ph.integration.sao.SolrSao;
import com.paic.icore.ph.search.biz.service.SolrService;
import com.paic.icore.ph.search.biz.service.impl.AssemebleSearchResultUtil;
import com.paic.icore.ph.search.biz.service.impl.SearchServiceImpl;
import com.paic.icore.ph.search.dto.Condition;
import com.paic.icore.ph.search.dto.SearchResultDto;
import com.paic.icore.ph.search.dto.SearchResultItem;
import com.paic.icore.ph.util.SolrQueryParameterBuilderUtil;
import com.paic.pafa.biz.sao.BaseSAO;
@Component("solrSao")
public class SolrSaoImpl extends BaseSAO implements SolrSao{
@Autowired
private SolrService solrService;
private HttpClient httpClient;
Log logger=LogFactory.getLog(SearchServiceImpl.class);
@Value("${ph.solr.baseurl}")
private String baseUrl;
SolrServer server = null;
private static final String DATA_IMPORT_IDLE_STATUS = "idle";
private static final String KNOWLEDGE_CATEGORY_PARENT_ROOT = "ROOT";
@SuppressWarnings("unused")
@PostConstruct
private void init() {
ThreadSafeClientConnManager tc = new ThreadSafeClientConnManager();
tc.setMaxTotal(100);
httpClient = new DefaultHttpClient(tc);
server=new HttpSolrServer(baseUrl, httpClient);
}
@SuppressWarnings("unused")
@PreDestroy
private void destory() {