Solr配置与简单Demo

简介:

solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目。它的官方网址在http://lucene.apache.org/solr/  。solr需要运行在一个servlet 容器里,例如tomcat。solr在lucene的上层提供了一个基于HTTP/XML的Web Services,我们的应用需要通过这个服务与solr进行交互。

前提,下载tomcat。省略。

第一步:下载Solr, http://www.apache.org/dyn/closer.cgi/lucene/solr/

我下载的是3.5版本,把它解压到E盘。E:/apache-solr-3.5.0

第二步:修改conf\server.xml,把8080端口所在的那一行修改如下:

<Connector port="8080" protocol="HTTP/1.1"             connectionTimeout="20000"             redirectPort="8443" URIEncoding="UTF-8"/> 

也有用下面这个的。

<Connector port="8080" URLEncoder="UTF-8" redirectPort="8443" connectionTimeout="20000" protocol="HTTP/1.1"/>

其实就是增加了URIEncoding="UTF-8"这一配置。推荐用第一种,这两个区别暂时不知。

第三步:配置Solr

还是在conf目录下,增加 Catalina\localhost\solr.xml 文件,如果conf文件夹下没有Catalina,新建它。

solr.xml内容:

<Context docBase="E:/apache-solr-3.5.0/dist/apache-solr-3.5.0.war" debug="0" crossContext="true" ><Environment name="solr/home" type="java.lang.String" value="E:/apache-solr-3.5.0/example/solr" override="true" /></Context>  

第四步:启动Tomcat。输入http://localhost:8080/solr/ 出现欢迎界面,表示成功。

第五步:简单Java Api 操作

参考 http://www.iteye.com/topic/315330 写的很详细了。

一个简单的写入,读出数据的完整代码如下:

package com.weishangye.test.solr;

import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import org.apache.solr.client.solrj.SolrQuery;import org.apache.solr.client.solrj.SolrServer;import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;import org.apache.solr.client.solrj.response.QueryResponse;import org.apache.solr.common.SolrDocument;import org.apache.solr.common.SolrDocumentList;import org.apache.solr.common.SolrInputDocument;

public class SolrTest1 {

    public static void main(String[] args) throws Exception {        String url = "http://localhost:8080/solr";        SolrServer server = new CommonsHttpSolrServer(url);        server.deleteByQuery( "*:*" );// delete everything!        SolrInputDocument doc1 = new SolrInputDocument();        doc1.addField( "id", "id1", 1.0f );        doc1.addField( "name", "doc1", 1.0f );        doc1.addField( "price", 10 );

        SolrInputDocument doc2 = new SolrInputDocument();        doc2.addField( "id", "id2", 1.0f );        doc2.addField( "name", "冰羽", 1.0f );        doc2.addField( "price", 20 );

        Collection<SolrInputDocument> docs = new  ArrayList<SolrInputDocument>();        docs.add( doc1 );        docs.add( doc2 );        server.add( docs );        server.commit();  

        SolrQuery query = new SolrQuery();        query.setQuery( "*:*" );        query.addSortField( "price", SolrQuery.ORDER.desc );        QueryResponse rsp = server.query( query );         SolrDocumentList docsList = rsp.getResults();          for(Iterator<SolrDocument> doc =docsList.iterator();doc.hasNext();){            SolrDocument d = doc.next();            System.out.print(d.getFieldValue("id")+"->");            System.out.println(d.getFieldValue("name"));        }    }

}

资源:

http://www.ibm.com/search/csass/search/?sn=dw&lang=zh&cc=CN&en=utf&hpp=20&dws=cndw&lo=zh&q=solr&Search=%E6%90%9C%E7%B4%A2  IBM社区

http://www.oschina.net/question/12_9398 利用开源的 Apache Solr 搜索引擎构建 RESTful 基础存储服务

http://blog.chenlb.com/tag/solr

时间: 2024-11-10 14:41:14

Solr配置与简单Demo的相关文章

Solr配置与简单Demo[转]

Solr配置与简单Demo 简介: solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目.它的官方网址在http://lucene.apache.org/solr/  .solr需要运行在一个servlet 容器里,例如tomcat.solr在lucene的上层提供了一个基于HTTP/XML的Web Services,我们的应用需要通过这个服务与solr进行交互. 前提,下载tomcat.省略. 第一步:下载Solr, http://www.apache.

FORM验证简单demo

详解稍后加入. 项目结构如图: web.xml <?xml version="1.0" encoding="UTF-8" ?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocat

android JNI 简单demo(2)之JNI demo 编写

android JNI 简单demo(2)之JNI demo 编写 一.搭建Cygwin 环境:http://blog.csdn.net/androidolblog/article/details/25559013 二.JNI 基本要素: 1.编写 含native 方法的java文件. 2.把该文件用javah 生成 Cygwin 编译库时要用到的头文件,既*.h 文件. 3.编写*.c 文件,在*.c文件中,实现 *.h 中的方法. 4.编写mk文件. 5.配置NDK环境. 6.用Cygwin

Win8.1下FreeImage.lib库的配置和简单使用(转)

转自http://www.codeweblog.com/win8-1下freeimage-lib库的配置和简单使用/ 首先,你可以从这里获取FreeImage的完整库文件(访问密码 9a5e). 配置过OpenGL的同学,可以直接跳过这个部分,VS中配置FreeImage库和配置OpenGL库的流程完全相似.强调一点的是,虽然本人使用的是win8.1下的VS2013,但是个人觉得win7上下的操作系统或者VS2010以上的VS都可以按照这个步骤级逆行配置.可能有区别的是可能共享的Demo不能够直

Spring的简单demo

---------------------------------------- 开发一个Spring的简单Demo,具体的步骤如下: 1.构造一个maven项目 2.在maven项目的pom.xml文件中添加spring的依赖包 3.开发一个接口Api 和两个实现类ApiOne,ApiTwo 4.新增Spring的配置文件applicationContext.xml 5.编写测试类Client 下面开始具体每个步骤的描述: 步骤1:构造一个maven项目 springTest 步骤2:在mav

html编辑器tinymce使用配置教程实例demo分享

原文:html编辑器tinymce使用配置教程实例demo分享 源代码教程地址:http://www.zuidaima.com/share/1550463284202496.htm 很简单的demo,大家可以扩展,不过功能很全. 标签: 编辑器 富文本 html tinymce 教程话题: 前端技术 入门教程 html编辑器tinymce使用配置教程实例demo分享

在cengos中安装zabbix server/agent, 并创建一个简单demo

添加zabbix更新源 rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm 安装 yum -y install iksemel libssh2 zabbix-server-mysql zabbix-web-mysql mysql-server zabbix-agent install net-snmp-devel net-snmp-libs net-snmp-pe

asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程

原文:asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionless的学习做下笔记! Exceptionless是什么?能做什么呢? “Exceptionless”这个词的定义是:没有异常.Exceptionless可以为您的ASP.NET.We

Ext简单demo示例

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <titl