solr入门--solrJ搜索引擎入门

1.solr是什么?

solr是lucene搜索引擎的框架,lucene引擎是将无结构化的数据(磁盘中的文档等),通过创建document文档对象,产生索引,从而形成索引库,提供索引查询的一个引擎源码包。

Lucene的具体实现思路如下:

①源文件(可以是本地磁盘文件,也可以通过爬虫进行分析的数据)---->创建document对象,分析文档对象,形成索引,产生索引库

②用户通过查询索引--->得到返回结果

详细参照:http://blog.csdn.net/gsy_yang/article/details/59526558

那么,solr是Apache下面的一个项目,基于Lunce开发的一个搜索引擎服务器,可以运行在Jetty,tomcat等服务器上,现在来测试一下它是如何运行的。

①下载solr:Solr官方网站(http://lucene.apache.org/solr/ 

根据Solr的运行环境,Linux下需要下载lucene-4.10.3.tgzwindows下需要下载lucene-4.10.3.zip

在windows下,使用solr,将下载的压缩包解压,目录如下:

binsolr的运行脚本

contribsolr的一些贡献软件/插件,用于增强solr的功能。

dist:该目录包含build过程中产生的warjar文件,以及相关的依赖文件。

docssolrAPI文档

examplesolr工程的例子目录:

l example/solr:

该目录是一个包含了默认配置信息的SolrCore目录。

l example/multicore

该目录包含了在Solrmulticore中设置的多个Core目录。

l example/webapps:

    该目录中包括一个solr.war,该war可作为solr的运行实例工程。

licensessolr相关的一些许可信息

②运行环境:

使用Tomcat7,JDK1.7

③tomcat与solr整合:

a.将解压后的solr4.10.3文件夹打开,找到example/webapps:其中有solr.war压缩包,将其拷贝到tomcat的webapps下,在Tomcat

的bin中启动tomcat,将Tomcat的webapps文件夹下的.war压缩包删除。

b.\solr-4.10.3\example\lib\ext目录下的所有的jar包添加到solr工程中,solr运行依赖这些jar,主要是一些日志jar,它们是:

c.\solr-4.10.3\example\solr文件夹复制到一份到D:\路径下,改名为solrhome,改名不是必须的,是为了便于理解。solrhome表示存放多个solrcore实例的文件夹。

solrhome下有一个文件夹叫做collection1这就是一个solrcore,每个solrcore就相当于一个索引库。

d.在collection1文件夹中,有一个config的文件夹:

solrconfig.xml的配置信息:

Libsolr服务依赖的扩展包,默认的路径是collection1\lib文件夹,如果没有 就创建一个

dataDir:配置了索引库的存放路径。默认路径是collection1\data文件夹,如果没有data文件夹,会自动创建。

requestHandler

 

关于schema.xml与data-config.xml稍后介绍。

④配置solr服务器:

加载配置文件(solrhome)的位置,修改tomcat中webapps下的solr工程中的web.xml,启用jndi的方式配置加载solrhome中配置文件。


⑤启动Tomcat,访问http://localhost:8080/solr/即可看到:


选择collection1我们可以看到:


关于Query查询的页面使用说明如下:


接下来说一下配置中文分词器:schema.xml

第一步:把中文分析器添加到工程中。

1、IKAnalyzer2012FF_u1.jar添加到solr工程的lib目录下,也就是在Tomcat中运行的solr的WEB-INF/lib中。

2、创建classes目录,把扩展词典、配置文件放到solr工程的WEB-INF/classes目录下。


3、进入solrhome/collection1/conf,编辑schma.xml

①使用自定义FieldType

<fieldType name="text_ik" class="solr.TextField">

  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>

</fieldType>

②添加业务域:例如需要查询商品信息

<field name="item_title" type="text_ik" indexed="true" stored="true"/>

<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>

<field name="item_price"  type="long" indexed="true" stored="true"/>

<field name="item_image" type="string" indexed="false" stored="true" />

<field name="item_category_name" type="string" indexed="true" stored="true" />

<field name="item_desc" type="text_ik" indexed="true" stored="false" />

 

<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>

<copyField source="item_title" dest="item_keywords"/>

<copyField source="item_sell_point" dest="item_keywords"/>

<copyField source="item_category_name" dest="item_keywords"/>

<copyField source="item_desc" dest="item_keywords"/>

重启tomcat就可以完成访问了。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值