一、基础配置
官网下载: http://lucene.apache.org/solr/
我下载下载版本是apache-solr-3.6.2
第一步:复制apache-solr-3.6.2\example\solr 文件夹到Tomcat7的根目录
第二步:复制apache-solr-3.6.2\example\webapps\solr.war 到Tomcat7的webapps目录下
第三步:在apache-tomcat-7.0.39\conf\Catalina\localhost目录下新建solr.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="D:/install/sorl20120423/apache-tomcat-7.0.39/webapps/solr" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="D:/install/sorl20120423/apache-tomcat-7.0.39/solr" override="true" />
<!--<Environment name="solr/home" type="java.lang.String" value="D:/tmp/lringsolr" override="true" /> -->
</Context>
第四步:启动tomcat 访问:http://localhost:6666/solr/ 访问到就安装成功了,6666是我tomcat的端口。
二、多核配置
多核就是多个服务 ,比如搜各个分类每个分类一个索引
1、进入apache-solr-3.6.2\example\multicore目录拷贝core0、core1(名称可改任意多个不限)到apache-tomcat-7.0.39\solr\目录下
2、配置apache-tomcat-7.0.39\solr\solr.xml 新增如下代码
<core name="core0" instanceDir="core0" />
<core name="core1" instanceDir="core1" />
配置完成访问多核只需在原有访问路径基础上加core名称即可。
三、外面mysql数据导入到索引
1、在apache-tomcat-7.0.39\solr\conf 目录新建db-data-config.xml 内容如下
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://地址:3306/库名"
user="用户名"
password="密码"/>
<document>
<entity name="id"
query="select id,description from d_city">
</entity>
<field column="id" name="solr_id"/>
<field column="description" name="solr_description"/>
</document>
</dataConfig>
2、配置apache-tomcat-7.0.39\solr\conf目录下的solrconfig.xml加入如下内容:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
3、将apache-solr-3.6.2\example\lib的jar包导入apache-tomcat-7.0.39\webapps\solr\WEB-INF\lib下 。
访问:http://localhost:6666/solr/dataimport?command=full-import 即可建立索引
四、索引访问代码:建立索引
import org.apache.solr.client.solrj.impl.HttpSolrServer; import org.apache.solr.client.solrj.impl.XMLResponseParser; import org.apache.solr.common.SolrInputDocument; public class InitDocumnet { static { long begin=System.currentTimeMillis() ; String url = "http://localhost:6666/solr/" ; try{ HttpSolrServer server = new HttpSolrServer( url ); server.setMaxRetries(1); // defaults to 0. > 1 not recommended. server.setConnectionTimeout(5000); // 5 seconds to establish TCP server.setParser(new XMLResponseParser()); // binary parser is used by default server.setSoTimeout(1000); // socket read timeout server.setDefaultMaxConnectionsPerHost(100); server.setMaxTotalConnections(100); server.setFollowRedirects(false); // defaults to false server.setAllowCompression(true); for(int i=1;i<10;i++){ SolrInputDocument doc1 = new SolrInputDocument(); doc1.addField( "id",i+"1"); doc1.addField( "name", "00网传一份北京大学权威认定的中国最顶级中学名录,在网上被热炒,不少网友表示自己的母校位列其中。在这份名录中,上海上榜4所学校,分别为上海中学,华师大二附中,复旦附中,七宝中学。你的母校上榜了吗?图via清华南都"+i); server.add(doc1) ; } server.commit() ; System.out.println(System.currentTimeMillis()-begin) ; }catch(Exception ex){ ex.printStackTrace() ; } } static public void main(String[] args){ long begin=System.currentTimeMillis() ; new InitDocumnet() ; System.out.println(System.currentTimeMillis()-begin) ; }
删除索引:
import org.apache.solr.client.solrj.impl.HttpSolrServer; import org.apache.solr.client.solrj.impl.XMLResponseParser; import org.apache.solr.common.SolrInputDocument; public class DelDocumnet { static { long begin=System.currentTimeMillis() ; String url = "http://localhost:6666/solr/" ; try{ HttpSolrServer server = new HttpSolrServer( url ); server.setMaxRetries(1); // defaults to 0. > 1 not recommended. server.setConnectionTimeout(5000); // 5 seconds to establish TCP server.setParser(new XMLResponseParser()); // binary parser is used by default server.setSoTimeout(1000); // socket read timeout server.setDefaultMaxConnectionsPerHost(100); server.setMaxTotalConnections(100); server.setFollowRedirects(false); // defaults to false server.setAllowCompression(true); server.deleteByQuery("*:*"); server.commit() ; System.out.println(System.currentTimeMillis()-begin) ; }catch(Exception ex){ ex.printStackTrace() ; } } static public void main(String[] args){ long begin=System.currentTimeMillis() ; System.out.println(System.currentTimeMillis()-begin) ; } }
查询索引:
import java.util.Iterator; 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.HttpSolrServer; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrDocumentList; public class SearchTest { public static void main(String[] args) { // 实例化SolrServer,以获取与solrServer的通信 String url = "http://localhost:6666/solr/" ; SolrServer server = new HttpSolrServer(url); // 创建查询参数以及设定的查询参数 SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.setRows(2000); // query.addHighlightField("webTitle");// 高亮字段 // query.addHighlightField("webContent");// 高亮字段 // query.setFacet(true) // .setFacetMinCount(12) // .setFacetLimit(5);//段 // query.setQuery("e"); // query.setQuery("id:长江2"); // query.setQuery("1"); // 查询并获取相应的结果! QueryResponse response = null; try { response = server.query(query); SolrDocumentList docs = response.getResults(); //Get the results // Iterator<SolrDocument> itDocs = response.getResults().iterator(); Iterator<SolrDocument> itDocs = docs.iterator(); if (response.getResults().getNumFound() > 10) { System.out.println("显示前10项相关结果"); } if (!itDocs.hasNext()) { //如果没有任何返回结果 System.out.println("no any result! "); } while (itDocs.hasNext()) { SolrDocument resultDoc = itDocs.next(); String content = (String) resultDoc.getFieldValue("description"); String id = (String) resultDoc.getFieldValue("id"); System.out.println("Content: " + content + " Id: " + id); } System.out.println("文档个数:"+ docs.getNumFound()); System.out.println("查询时间:" + response.getQTime()); } catch (SolrServerException e) { System.err.println(e.getMessage()); e.printStackTrace(); } catch (Exception e) { System.err.println(e.getMessage()); e.printStackTrace(); } finally { } } }
相关推荐
3. **加载中文分词jar包**:将中文分词器的jar包添加到Solr的lib目录下,以供Solr使用。 #### 六、监控Solr 监控Solr集群的状态对于及时发现和解决问题至关重要。 - **使用Cloudera Manager**:Cloudera Manager...
### Solr 安装与使用详解 #### 一、Solr简介 Solr 是一个高性能、采用Java开发的全文搜索引擎。它可以轻松地被集成到基于Web的应用程序中,为用户提供强大的搜索功能。Solr 支持多种数据源,并且能够进行高度定制...
solr使用和原理 简单明了的介绍了solr的使用和原理,及其部署方式,适合初学者第一次部署
### Solr的安装使用步骤详解 #### Solr概述与特性 **Solr** 是 Apache 下的一个顶级开源项目,它基于 **Lucene** 进行构建,提供了强大的全文搜索能力。相较于 Lucene,Solr 提供了更为丰富的查询语言支持,并且...
《easynet.solr开发与使用》 在现代信息技术领域,搜索引擎已经成为不可或缺的一部分,而Apache Solr作为一款强大的开源搜索引擎,被广泛应用于各种数据检索场景。为了方便开发者更高效地集成和操作Solr,Easynet...
Solr 使用指南 Solr 是一个开源的企业级搜索服务器,底层使用易于扩展和修改的 Java 来实现。服务器通信使用标准的 HTTP 和 XML,因此如果使用 Solr,了解 Java 技术会有用却不是必须的要求。Solr 的核心技术是使用...
本文将深入讲解 Solr 的使用及安装过程。 一、Solr 简介 Solr 基于 Lucene 库,提供了一个高度可配置和可扩展的平台,用于处理和索引大量数据,支持多种数据源,如文件、数据库等。其主要特性包括: 1. **全文搜索...
"solr6.5使用的IK分词"就是一个针对Solr 6.5版本的中文分词解决方案。 **IK分词器** IK分词器(Intelligent Chinese Analyzer)是由Lucene社区开发的一款高性能的中文分词工具,适用于Java环境。它的主要目标是为...
### Solr 3.* 使用手册知识点总结 #### 一、Solr简介与核心概念 - **Solr**:Apache Solr 是一个高性能、基于 Lucene 的全功能搜索引擎平台。它支持分布式搜索,并提供了丰富的功能集来满足企业级搜索需求。 - **...
要使用solr-dataimport-scheduler.jar,首先需要将该jar包部署到Solr服务器的lib目录下,这样Solr启动时会自动加载这个组件。然后,在Solr的配置文件(如solrconfig.xml)中,你需要定义一个DIH的配置,包括数据源...
Solr安装与使用 Solr是一款功能强大的搜索引擎,能够帮助我们快速搭建企业搜索平台。在本文中,我们将详细介绍Solr的安装和使用过程。 一、安装Solr 首先,我们需要下载Solr的安装包。这里我们使用的是Solr 1.3...
在本文档中,我们将详细介绍如何部署和使用 Solr 5.5.4 版本,包括两种常见的部署方式:Jetty 和 Tomcat,并涉及到中文分词器IKAnalyzer的集成以及对Word文档的支持。 首先,我们需要准备合适的环境,这里要求的是...
### Solr在Java中的使用总结 #### 一、Solr简介 Solr是一个高性能的全文搜索引擎,基于Apache Lucene开发,使用Java 5编写。它不仅继承了Lucene的强大功能,还提供了更丰富的查询语言以及更好的性能优化。Solr具备...
4. **docs** 文件夹:包含了Solr的用户文档,可以帮助开发者和管理员了解Solr的使用方法和API。 5. **example** 文件夹:提供了一个简单的Solr实例,包括了如何设置和运行的基本示例,对于初学者来说非常有用。 6....
通过阅读“Solr使用详解.pdf”,你可以深入了解Solr的使用方法,掌握从安装配置到实际操作的全过程,从而更好地利用Solr解决实际的搜索和分析问题。同时,solrJ和IK分词器的使用将进一步提升你在Java环境中操作Solr...
总的来说,"solr中文解析器以及使用文档"这个主题涵盖了如何在Solr中配置和使用IK Analyzer进行中文文本处理,以及如何优化其性能以适应各种实际应用。通过深入学习这些内容,可以有效地提升Solr在中文环境下的搜索...
centos7 环境 安装docker 并在docker 中部署solr 并使用
为了方便使用 Solr 的命令行工具,可以将 Solr 的 bin 目录添加到系统的 PATH 环境变量中。例如,在 `.bashrc` 或 `.bash_profile` 文件中添加: ``` export SOLR_HOME=/path/to/solr-8.8.2 export PATH=$PATH:$...
### Solr 5.5.4 使用文档 #### 一、环境配置与部署步骤 **1.1 环境需求** - **JDK**: 1.7 或以上版本。 - **Tomcat**: 8 或以上版本。 - **Solr**: 5.5.4 版本。 - **SolrJ**: 5.5.4 版本。 **1.2 部署步骤** 1...