全文检索solr,
Solr是什么?
Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个属性的名字是 id,在 Schema 配置文件中使用:<uniqueKey>id</uniqueKey>进行描述。Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。Solr是一个独立的企业级搜索应用服务器,目前很多企业运用solr开源服务。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提 供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。
Solr配置
具体的搭建solr的过程就不再赘述,只提出几点需要注意的 bin:命令 contrib:扩展包如集群工具类dist:solr所有的工程以及jar包,目标文件 其中solr*.war,即solr的web工程,运行在web容器中 solrj-lib :solrj依赖的jar solr-solrj-4.10.3.jar:solr编译后的jar包 exmaple:实例,其中solr 是标准的solrhome, collection1中包括schema.xml(定义字段,和数据类型,配置中文分析器),solrconfig.xml(对每一个solrcore的配置)webapps中的solr.war等同于dist中的war包 部署到tomcat中: 1.solr.war复制到tomcat/webapps/中,自解压; 2.solr-4.10.3/example/lib/ext的jar包复制到/tomcat/webapps/solr/WEB-INF/lib/ 3.修改solr工程下的web.xml文件,solr服务器solrhome的位置。
4.配置业务字段,使用IK-Analyzer中文分析器,将分析器的jar复制到/tomcat/webapps/solr/WEB-INF/lib/,需要把IKAnalyzer需要的扩展词典及停用词词典、配置文件复制到solr工程的classpath。/usr/local/solr/tomcat/webapps/solr/WEB-INF/classes 包括 IKAnalyzer.cfg.xml ext_stopword.dic mydict.dic 5.配置fieldType。需要在solrhome/collection1/conf/schema.xml中配置。 指定分析器
<fieldType name="text_ik"class="solr.TextField">
<analyzerclass="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"/>
索引库的使用
query 添加/更新 删除 根据条件删除<delete>
<query>*:*</query>
</delete>
<commit/>
该篇博客主要介绍了sorl的配置和web端的简单使用!
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。