摘要: 1.<ramBufferSizeMB>32</ramBufferSizeMB>。solrconfig中的这个配置,如果对于过于大型的应用,这个配置必须修改。这是建索引时的设置内存大小。2.一个商品属于,类别---》子类别--》子子类别 ,想在所有类别中都能查询到该商品。 做法:讲该商品的父子结果查询出来。需要新加入一个索引字段,并构建成 类别id-子类别id-子子类别id :例如 1-11-111 默认的我们只知道,商品的直接信息中只能拿到它的最末级类别id。可以通过最末级类别信息,查询到商品。 我们必须自定义solr类型。就像定义中文的分词类型一样,在schama.x 阅读全文
posted @ 2013-04-23 16:13 Dream-Weaver 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 在和solr搭配的tomcat中去除日志:org.apache.solr.level = WARNING 阅读全文
posted @ 2013-04-23 16:12 Dream-Weaver 阅读(213) 评论(0) 推荐(0) 编辑
摘要: solr在这方面做的很给力啊。在配置文件中已经明确的说明了。 1.如果是主索引服务器(这个服务器最好只负责对主索引库,与数据库进行数据的同步)。 <requestHandler name="/replication" class="solr.ReplicationHandler" > <lst name="master"> <!--当执行什么操作的时候才同步索引服务器--> <str name="replicateAfter">commit</str> & 阅读全文
posted @ 2013-04-23 16:11 Dream-Weaver 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 索引同步数据库的方式也有几种方案: 1.用quarz.jar做定时任务,进行索引库与数据库的同步。 (即每隔一段时间向solr服务器发送同步命令, 可以是 http://localhost:12002/solr/db/dataimport?command=full-import 也可以是 http://localhost:12002/solr/db/dataimport?command=delta-import 进行索引同步。 ) 2.当用solrj进行手动建索引时,也是向solr服务器发送同步请求。这只需要调用你自己写的那个.acion或... 阅读全文
posted @ 2013-04-23 16:10 Dream-Weaver 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 对于拼音和拼音首字母的支持,当你在搜商品的时候,如果想输入拼音和拼音首字母就给出商品的信息,怎么办呢?实现方式有2种,但是他们其实是对应的。 1.用lucene实现。 1.建索引, 多建一个索引字段,即拼音和拼音首字母这2个字段。合并的一个字段。 (拼音和拼音首字母,可以通过pinyin4j.jar。将想要进行拼音搜索的字段进行拼音转换。) 2.对输入的参数判断是否是拼音,(可以通过将传人的值转换为 utf-8 形式,如果转换后的字符串长度大于原来的字符串的长度,那么就不是拼音。否则就进行拼音查询) 3.对拼音索引那个字段进行查询,和中文查询一样。参考中文查询。 2.solr实现。 1.so. 阅读全文
posted @ 2013-04-23 16:09 Dream-Weaver 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 这个功能的实现有几种不同的思路。大概半个月前,我在网上查了相关内容,心里很凉。google里面从2009年到2011年都有人问这个问题。但是没有一个人回答。当网上都没人回答的时候就是尴尬的时候。后来吧,还好,总监是做搜索出身的。不懂就问呗。提出的方案大概有3套: 1。新建张表,然后这张表专门用来存放与相关搜索的字段。将表的数据导入到缓存中,每次从缓存中查询。即不消耗数据库连接,也很快(最简单的方法,对应小型网站没问题,除了需要维护随时插入数据之外,就是数据不全这个缺点) 2。对用户输入的信息进行验证,如果数据库有就不存,并且提示,如果没有就存入数据库。并对这个表的数据建缓存。 3。研究solr 阅读全文
posted @ 2013-04-23 16:08 Dream-Weaver 阅读(801) 评论(0) 推荐(0) 编辑
摘要: 查询索引的方法有2种: 一.通过solr搜索引擎自己已经实现的功能来查询。即发送url请求到solr服务器。solr会通过这个url请求,返回相应的响应。 solr有个管理界面,url:http://localhost:12002/solr/ 在有数据的情况下,可以在这里做各种查询,在这里查询的时候,就会向solr服务器发送各种请求。默认为 * :*即查询所有索引 一般向solr服务器发送请求的url: http://localhost:12002/solr/db/select/?q=searchIndex%3A*&version=2.2&start=0&rows=10 阅读全文
posted @ 2013-04-23 16:07 Dream-Weaver 阅读(643) 评论(0) 推荐(0) 编辑
摘要: solr建索引包括增量建索引和全量建索引。<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">这个请求是用来处理用户提交的数据库导入的handler。只需要用法访问:http://localhost:12002/solr/db/dataimport?command=full-import。即可更新索引,这里我用的是全量建索引。也可以使用增量建索引,即数据库中改变了什么就建什么的索引。理论上说增量建索引的效 阅读全文
posted @ 2013-04-23 16:06 Dream-Weaver 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 本节详细讲解solrconfig.xml1.如果配置文件配置错误,是否提示。true要报错,false不报错。<abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>2.solr版本。<luceneMatchVersion>LUCENE_31</luceneMatchVersion>3. 索引文件目录,建索引的目录和查询的目录都是它。<dataDir>${solr.data.dir:./solr/db/da 阅读全文
posted @ 2013-04-23 16:05 Dream-Weaver 阅读(297) 评论(0) 推荐(0) 编辑
摘要: solr3.1版本,solr3.x版本大部分应该一致。 一个一个的配置项来谈谈schema.xml 配置:以下是针对schema.xml 配置文件的剖析: 1. <types></types>这个标签和它的意义一样,是用来表示数据有哪些类型,这些类型当然是solr内部定义的类型和自定义类型。 2. <!-- The StrField type is not analyzed, but indexed/stored verbatim. --> 和他上面解释一样,string类型是不分词的,要建索引,要存储 <fieldType name="st 阅读全文
posted @ 2013-04-23 16:03 Dream-Weaver 阅读(191) 评论(0) 推荐(0) 编辑