package com.mifeng.solr4jtest; import java.io.IOException; import java.net.MalformedURLException; import java.util.ArrayList; import java.util.Collection; 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.impl.CommonsHttpSolrServer; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrInputDocument; import com.mifeng.Config.Config; /** * 测试搜索引擎服务器<br> * 多核配置以及单核配置取决于地址 * * @author MiFeng * */ public class AddField { // private final String SOLRURL = "http://localhost:9264/solr/"; // private final String CORE0 = "http://localhost:9264/solr/core0/"; // private final String CORE1 = "http://localhost:9264/solr/core1/"; public static void main(String[] args) throws SolrServerException, IOException { AddField field = new AddField(); field.addField(); field.getField(); } /** * 获取搜索服务器实例 * * @param name * @return * @throws MalformedURLException */ public SolrServer getSolrServer(String name) throws MalformedURLException { String core = ""; // 加载属性文件 Config.load(""); // 从属性文件中获取搜索服务器相对域地址 core = Config .getProperty("core" + name, Config.getProperty("core", "")); if (core == null) { System.out.println("属性文件读取错误~"); return null; } // 返回搜索服务器实例 return new CommonsHttpSolrServer(core); } /** * 添加索引 * * @throws SolrServerException * @throws IOException */ @SuppressWarnings( { "unchecked" }) public void addField() throws SolrServerException, IOException { // 获得一个server的实例 SolrServer solrServer = getSolrServer("Type"); if (solrServer != null) { // 清除搜索服务器所有索引 solrServer.deleteByQuery("*:*"); Collection docs = new ArrayList(); long startTime = System.currentTimeMillis(); // 循环添加索引 for (int i = 0; i < 10000; i++) { SolrInputDocument doc1 = new SolrInputDocument(); doc1.addField("id", "id" + i); doc1.addField("name", "name" + i); doc1.addField("price", i); doc1.addField("title", "title" + i); if (i % 7 != 0) { doc1.addField("simple", "测试你我他" + i); } else { doc1.addField("simple", "午夜天空龙" + i); } docs.add(doc1); // 模仿flush()避免内存溢出 if (i % 100 == 0) { solrServer.add(docs); solrServer.commit(); docs.clear(); } } long endTime = System.currentTimeMillis(); System.out.println(endTime - startTime); } } /** * 搜索 * * @throws MalformedURLException * @throws SolrServerException */ public void getField() throws MalformedURLException, SolrServerException { // 创建服务器实例 SolrServer solrServer = getSolrServer("Type"); // 查询实例 SolrQuery query = new SolrQuery(); // 查询条件 query.setQuery("simple:'他'"); // 设置查处条数 query.setRows(10); // 设置从那条开始查询 query.setStart(10); // 执行 QueryResponse rsp = solrServer.query(query); // 查询时间 System.out.println(rsp.getQTime()); // 结果 SolrDocumentList docs = rsp.getResults(); for (int i = 0; i < docs.size(); i++) { for (String str : docs.get(i).getFieldNames()) { System.out.println(str + ":" + docs.get(i).getFieldValue(str)); } } } }
最近下载更多
q1348778201 LV1
2020年4月20日
刘婕小可爱 LV2
2019年9月18日
xushanlai LV1
2019年8月22日
Susan123 LV2
2019年7月21日
C544350851 LV26
2019年4月15日
zuidaima1666 LV1
2018年12月18日
庞力5079 LV1
2018年10月9日
georgekaren LV2
2018年8月30日
bai620123 LV16
2018年7月6日
40255118 LV9
2018年6月22日
最近浏览更多
evagsd LV6
2022年9月2日
zhuohua
2022年3月26日
暂无贡献等级
caozhaoqi83 LV5
2021年1月21日
chenfuxing521
2020年12月16日
暂无贡献等级
kun_1076378263 LV4
2020年12月13日
李志伟122 LV2
2020年10月15日
aluckboy2
2020年10月9日
暂无贡献等级
q1348778201 LV1
2020年4月20日
3581Nicezza
2020年4月3日
暂无贡献等级
gxwRoom工作室 LV10
2020年3月4日