现在移动开发中越来越多的App都有周边搜索,有找附近的人的,附近的酒店,附近的餐馆的。接下来我们就来讲一下强大的Solr来帮我们构建周边搜索之酒店搜索。
1 下载 Solr 3.6.2
下载地址:http://www.apache.org/dyn/closer.cgi/lucene/solr/3.6.2
提取apache-solr-3.6.2.zip里的apache-solr-3.6.2.war到F:\, 后面会讲解如何部署这个war包
2 建立solr的索引库配置
2.1 在D:\建立目录hotel_solr
2.2 在D:\hotel_solr下新建solr.xml,内容如下:
<?xml version="1.0" encoding="UTF-8" ?> <solr persistent="false"> <cores adminPath="/admin/cores"> <core name="core0" instanceDir="core0" /> <!--<core name="core1" instanceDir="core1" />--> </cores> </solr>2.3 在D:\hotel_solr新建core0\conf目录
2.4 在D:\hotel_solr\core0\conf目录下,新建schema.xml文件,内容如下:
<?xml version="1.0" ?> <schema name="example core zero" version="1.1"> <types> <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/> <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/> <fieldType name="integer" class="solr.IntField" omitNorms="true"/> <fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/> <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/> <fieldType name="long" class="solr.TrieLongField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/> <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/> <fieldType name="tint" class="solr.TrieIntField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/> <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/> <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/> <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/> <fieldType name="sint" class="solr.SortableIntField" sortMissingLast="true" omitNorms="true"/> <fieldType name="slong" class="solr.SortableLongField" sortMissingLast="true" omitNorms="true"/> <fieldType name="sfloat" class="solr.SortableFloatField" sortMissingLast="true" omitNorms="true"/> <fieldType name="sdouble" class="solr.SortableDoubleField" sortMissingLast="true" omitNorms="true"/> <fieldType name="date" class="solr.TrieDateField" omitNorms="true" precisionStep="0" positionIncrementGap="0"/> <fieldType name="tdate" class="solr.TrieDateField" omitNorms="true" precisionStep="6" positionIncrementGap="0"/> <fieldtype name="ignored" stored="false" indexed="false" class="solr.StrField"/> <fieldtype name="location" class="solr.LatLonType" subFieldSuffix="_d"/> <fieldType name="text" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> </types> <fields> <field name="hotel_id" type="integer" indexed="true" stored="true" required="true"/> <field name="crawl_hotel_id" type="string" indexed="true" stored="true" multiValued="false" required="true"/> <field name="name" type="text" indexed="true" stored="true" multiValued="false" required="true"/> <field name="address" type="text" indexed="true" stored="true" multiValued="false" required="true"/> <field name="search_kw" type="text" indexed="true" multiValued="true" stored="false" /> <field name="latlng" type="location" indexed="true" /> <dynamicField name="*_d" type="double" indexed="true" stored="true"/> </fields> <copyField source="name" dest="search_kw" /> <copyField source="address" dest="search_kw" /> <uniqueKey>hotel_id</uniqueKey> <defaultSearchField>search_kw</defaultSearchField> <solrQueryParser defaultOperator="AND"/> </schema>2.5 在D:\hotel_solr\core0\conf目录下,新建solrconfig.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8" ?> <config> <luceneMatchVersion>LUCENE_36</luceneMatchVersion> <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/> <updateHandler class="solr.DirectUpdateHandler2" /> <requestDispatcher handleSelect="true" > <requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="2048" /> </requestDispatcher> <requestHandler name="standard" class="solr.StandardRequestHandler" default="true" /> <requestHandler name="/update" class="solr.XmlUpdateRequestHandler" /> <requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" /> <admin> <defaultQuery>*:*</defaultQuery> </admin> </config>到这里为止Solr的索引配置完成.
3 配置tomcat
3.1 让tomcat支持HTTP GET UTF-8编码的支持, 打开D:\apache-tomcat-7.0.16\conf\server.xml,修成如下地方:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>3.2 配置solr的war包
在D:\apache-tomcat-7.0.16\conf\Catalina\localhost新建solr.xml,内容如下:
<Context docBase="F:/apache-solr-3.6.2.war" debug="0" crossContext="true" > <Environment name="solr/home" type="java.lang.String" value="D:/hotel_solr" override="true" /> </Context>3.3 启动tomcat, 在浏览器中输入:http://localhost:8080/solr/ 如果出现Admin core0 表示正常。
相关推荐
更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。 通过对 Solr 进行适当的配置, 某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此 外,很多 Lucene 工具(如 Nutch、...
ES和solr都是基于Lucence的搜索框架,文档比较2中方案适合的不同场景和优劣
介绍了Solr5.5内部使用的分词原理,有助于开发者自定义自己的分词器时掌握分词的基础知识。
tomcat7下实现solr4.3的部署与配置,配置中文服务器。通过solrj实现索引的创建,修改,删除,查询。并实现httpclienct创建、修改索引,检索信息等。
solr配置搜索引擎平台 一、 SOLR搭建企业搜索平台 二.... 三,,,,
Solr实现电扇站内搜索Solr实现电扇站内搜索Solr实现电扇站内搜索Solr实现电扇站内搜索
solr搜索引擎,solr介绍什么是solr搜索引擎,操作实例
Apache Solr lucene 搜索模块设计实现 Solr 模块 架构 lucene 搜索
基于solr-geo空间搜索 1、Solr的schema.xml配置 定义坐标field 2、Solr的data-config.xml配置 建立索引 3、java查询语法 坐标距离、分页、排序
solr7.5搜索框架 各种企业都在用 使用广泛 无需安装 解压就能用
sorl搜索引擎安装与文件,Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
Solr如何进行索引和搜索 索引:客户端(可以是浏览器可以是java程序)发送post请求到solr服务器,发给solr服务器一个文档(xml、json),就可以进行一个添加索引删除索引、修改索引的操作。 搜索:客户端(可以是...
Solr5.5搜索引擎之分词原理说明.docx 介绍了Solr5.5内部使用的分词原理,有助于开发者自定义自己的分词器时掌握分词的基础知识。
1.学员操作手册-Solr搜索自动补全 2.solr实训教程.doc 3.积分商城基于Solr的搜索引擎优化.pdf 4.基于Solr的搜索引擎优化讲义.pdf 5.课程大纲-基于搜索引擎培训.doc 6.学员操作手册-Solr数据库插入索引.doc 7.学员...
NULL 博文链接:https://ldcsunnyboy.iteye.com/blog/1113251
Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是...
图片上传下载 整合solr 引擎搜索 支持分词、高亮搜索等操作
基于Solr的搜索引擎的设计与实现
高效的企业级搜索引擎Solr简介,快速学习Solr
京东solr全局搜索