- 浏览: 183226 次
- 性别:
- 来自: 武汉
文章列表
Solr 学习(7) —- Solr Facet
- 博客分类:
- Solr
一、Facet介绍
solr facet 是solr搜索的一大特色,facet不好翻译,有说是垂直搜索,有说是分片搜索,但都不是很好,还是懒得翻译了,就叫facet ,具体功能看下面的例子意会吧。
比如你上淘宝,输入“笔记本”进行搜索,就会出现品牌分类,价格范围等分类,这个就叫facet了。这个例子也许好不是那么准确的描述facet,不过基本上就是这个意思。对输入关键字后搜索出来的结果再进行分类。
二、 Facet查询
进行Facet查询需要在请求参数中加入”facet=on”或者”facet=true”只有这样Facet组件才起作用.
1.
solr查询返回只是xml格式或是json格式,并不像我们平时使用google或百度时的那种漂亮清爽的界面,实际上solr只负责数据的查询和返回,并不负责显示,如果要生成如google那样的界面,还的借助solr的php客户端,通过客户端进行查询后,再通过php代码显示出来。
本文的做法是一台服务器使用tomcat,运行solr,另一台服务器使用apache,负责和用户的交互与显示。
solr的php客户端也有好几个,本文选择了一个简单易用的, php-solr-client ,该项目的地址为 http://code.google.com/p/solr-php-client/,下 ...
1、查询地址
建立好solr的索引后,可以通过管理界面进行查询。http://127.0.0.1:8983/solr/admin/form.jsp
要尝试多个查询方法的话,可以进入full interface模式,并勾选debug选项,像下面这样
随便进行一个查询,如输入 hi ,通过返回的页面的debug项中,就可以看到solr进行查询的很多相关信息
<lst name="debug">
<str name="rawquerystring">hi</str>
& ...
DIH虽然有不写程序就可进行数据导入的优势,但要是复杂的数据关系,比如数据库中需要进行大量的jion之类的查询,用DIH反而显得麻烦些,不仅配置繁琐难懂,而且效率也不高。另一种方式是使用solrj 。solrj是solr的java客户端 ...
使用DataImportHandler进行简单数据导入还是比较有效的,特别是DIH中针对简单的数据库表,可以把完全导入和增量导入合并成一个语句,非常方便。我的使用方式如下所示
1。配置schema
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name=&qu ...
solr配置通过两个文件,一个是solrconfig.xml,主要定义solr的处理程序(handler)和一些扩展程序;另一个是schema.xml,主要定义索引的字段和字段类型,下面分别说明两个文件的基本配置。
1. solrconfig
其中的配置很多,其实很多都可以保持默认,我只说几个可能会修改到的参数
1.1 dataDir
默认在solr/data 文件夹下建立索引 ,在solrconfig中也可修改为你指定的位置,如
<dataDir>/var/data/solr</dataDir>
1.2 autoCommi ...
Java读取XML配置文件
- 博客分类:
- MySQL
最初的想法是不把mysql的连接参数写到程序中,因为每次要修改参数总是很麻烦,于是想找到一种能够方便修改的方式,后来就找到了通过XML文件存储程序参数的方法。本文中使用dom4j读取xml文件
XMLReader类
import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
*
* @author Martin3000
*
...
以前用过一些,但总觉得不好用,老容易出错,于是自己在写程序的过程中总结经验,反复修改,写了这一个标准操作,于是mysql用起来终于顺手了
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* MySQL操作类
*
* @author Administrator
*
*/
public class My ...
舞动的排序算法 快速排序
有感于这段来至Sapientia University 的舞蹈,生动有趣、寓教于乐,突然心血来潮,来一个看视频学排序吧。于是按照视频的步骤写了一个一样的快速排序算法。以前学过快排,只是觉得复杂,没有自己实现过,学得似懂非懂,今天看了这个视频,真让人印象深刻,真正把快速排序算法学懂了了,推荐学计算机的童鞋们都来看看。我很佩服这段舞蹈编排者的创意,把刚写的代码贴在下面留作纪念。
快速排序
写在前面
2010年参加了一个全文搜索的项目,开始学习和使用lucene,写了大半年的代码,在linux上实现了爬虫+建立索引(中文分词)+查询(分页、高亮)+规则(指定关键词组合)触发事件的功能。
后来随着项目需求的增多,代码越写越多,最痛苦的是在更改实现方案,还有维护索引的时候,又要大量改代码,正当我快崩溃的时候,发现了solr,才知道自己以前实现的维护部分的功能大部分solr都集成了,而且更稳定,功能更强大,原来自己绕了弯路,做了重复发明轮子的工作,于是开始把以前的东西推到重来,全部用solr实现,从此项目在搜索方面稳定了N倍,由衷感谢solr项目给我们带来的便利。 ...