`
san_yun
  • 浏览: 2653323 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

solr学习笔记

    博客分类:
  • solr
 
阅读更多

solr使用指南

 

http://blog.csdn.net/liuzhenwen/article/details/4060922

 

SOLR技术文档
1. 了解lucene 原理,全文搜索概念,参考(http://wishlife.iteye.com/category/30179 ) .建立自己的索引库.
2. 了解solr参考(http://www.ibm.com/developerworks/cn/java/j-solr1/ , http://www.ibm.com/developerworks/cn/java/j-solr2/ ).并下载实例程序.
3. 搭建SOLR服务器
3.1 官方下载 apache-solr-1.3.0.zip 和tomcat5.5

3.2 将apache-solr-1.3.0\example\webapps\solr.war部署有 tomcat 下
3.4 将apache-solr-1.3.0\example\solr 下所有文件复制到e:/tomcat/solr下
3.5 启动 tomcat -> 浏览http://localhost:8080/solr/admin/ 能访问Solr Admin 页面说明Solr 服务器设置成功.

 

admin    18385  108 27.9 5798376 4589936 ?     Sl   Apr19 8625:44 /home/dist/sys/java/bin/java -Djava.util.logging.config.file=/solr/conf/logging.properties -server -Xms4g -Xmx4g -XX:PermSize=96m -XX:MaxPermSize=256m -Xmn1600m -XX:+UseCompressedOops -Djava.awt.headless=true -Dsolr.solr.home=/duitang/data/solr -Dorg.apache.lucene.FSDirectory.class=org.apache.lucene.store.NIOFSDirectory -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/solr/endorsed -classpath /solr/bin/bootstrap.jar -Dcatalina.base=/solr -Dcatalina.home=/solr -Djava.io.tmpdir=/solr/temp org.apache.catalina.startup.Bootstrap start


4. 为Solr 创建索引库
4.1 在 e:/tomcat/solr 目录下新建名为data 的文件夹,再在data 下新建index名为 文件夹
4.2 将lucene 创建好的索引放入e:/tomcat/solr/data/index 下
5. Solr 索引设置
5.1 在e:/tomcat/solr /conf 下solrconfig.xml, schema.xml

 

<?xml version="1.0" ?>
<schema name="metasearch" version="1.1">
        <types>
                <!-- not analyzed-->
                <fieldType name="string" class="solr.StrField"
                        sortMissingLast="true" omitNorms="true" />

                <!--
                        Numeric field types that manipulate the value into a string value
                        that isn't human-readable in its internal form, but with a
                        lexicographic ordering the same as the numeric ordering, so that
                        range queries work correctly.
                -->
                <fieldType name="boolean" class="solr.BoolField"
                        sortMissingLast="true" omitNorms="true" />
                <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" />
               <!--
                        The format for this date field is of the form 1995-12-31T23:59:59Z
                -->
                <fieldType name="date" class="solr.DateField"
                        sortMissingLast="true" omitNorms="true" />

                <!--//todo 确定多长的文本需要compress-->
                <fieldType name="text" class="solr.TextField"
                        positionIncrementGap="100" compressThreshold="1000">
                        <analyzer type="index">
                                <tokenizer class="solr.StandardTokenizerFactory" />
                                <filter class="solr.WordDelimiterFilterFactory"/>
                                <filter class="solr.LowerCaseFilterFactory" />
                        </analyzer>
                        <analyzer type="query">
                                <tokenizer class="solr.StandardTokenizerFactory" />
                                <filter class="solr.WordDelimiterFilterFactory"/>
                                <filter class="solr.LowerCaseFilterFactory" />
                        </analyzer>
                </fieldType>
        </types>

        <fields>
                <field name="id" type="slong" indexed="true" stored="true" required="true" />
                <field name="username" type="text" indexed="true" stored="false" required="true" />
                <field name="first_name" type="text" indexed="true" stored="false" required="false" />
                <field name="last_name" type="text" indexed="true" stored="false" required="false"/>
                <field name="city" type="text" indexed="true" stored="false" required="false"/>
                <field name="signature" type="text" indexed="true" stored="false" required="false"/>
                <field name="text" type="text" indexed="true" stored="false" multiValued="true" />
        </fields>

        <uniqueKey>id</uniqueKey>

        <!--
                field for the QueryParser to use when an explicit fieldname is absent
        -->
        <defaultSearchField>text</defaultSearchField>

     <!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
        <solrQueryParser defaultOperator="AND" />

        <copyField source="username" dest="text" />
        <copyField source="first_name" dest="text" />
        <copyField source="last_name" dest="text" />
        <copyField source="city" dest="text" />
        <copyField source="signature" dest="text" />
</schema>
                            
 

 

 

主从配置:

master:

<?xml version="1.0" encoding="UTF-8" ?>
<config>
	<requestHandler name="/replication" class="solr.ReplicationHandler">
		<lst name="master">
			<str name="replicateAfter">commit</str>
			<str name="confFiles">schema.xml,solrconfig_slave.xml:solrconfig.xml</str>
			<str name="commitReserveDuration">00:01:00</str>
		</lst>
	</requestHandler>

	<indexDefaults>
		<lockType>simple</lockType>
		<unlockOnStartup>true</unlockOnStartup>
	</indexDefaults>
	<luceneMatchVersion>LUCENE_CURRENT</luceneMatchVersion>
	<mainIndex>
		<useCompoundFile>false</useCompoundFile>
		<mergeFactor>50</mergeFactor>
		<maxBufferedDocs>1000</maxBufferedDocs>
		<ramBufferSizeMB>64</ramBufferSizeMB>
		<reopenReaders>true</reopenReaders>
		<maxFieldLength>2000</maxFieldLength>
	</mainIndex>
	<deletionPolicy class="solr.SolrDeletionPolicy">
		<str name="maxCommitsToKeep">1</str>
		<str name="maxOptimizedCommitsToKeep">0</str>
		<str name="maxCommitAge">8MINUTES</str>
	</deletionPolicy>
	<updateHandler class="solr.DirectUpdateHandler2">
		<autoCommit>
			<maxDocs>2000</maxDocs>
			<maxTime>300000</maxTime>
		</autoCommit>
	</updateHandler>

	<requestDispatcher handleSelect="true">
		<requestParsers enableRemoteStreaming="false"
			multipartUploadLimitInKB="2048" />
      </requestDispatcher>
	<requestHandler name="standard" class="solr.StandardRequestHandler"
		default="true">
		<lst name="defaults">
			<str name="echoParams">explicit</str>
			<int name="rows">10</int>
			<str name="fl">*</str>
			<str name="version">2.2</str>
		</lst>
	</requestHandler>
	<requestHandler name="/update" class="solr.XmlUpdateRequestHandler" />
	<requestHandler name="/admin/"
		class="org.apache.solr.handler.admin.AdminHandlers" />
	<!-- ping/healthcheck -->
	<requestHandler name="/admin/ping" class="PingRequestHandler">
		<lst name="defaults">
			<str name="qt">standard</str>
			<str name="q">solrpingquery</str>
			<str name="echoParams">all</str>
		</lst>
	</requestHandler>

	<!-- config for the admin interface -->
	<admin>
		<defaultQuery>solr</defaultQuery>
	</admin>
	<query>
		<queryResultCache class="solr.LRUCache" size="512"
			initialSize="512" autowarmCount="512" />

		<filterCache class="solr.LRUCache" size="512"
			initialSize="512" autowarmCount="512" />
		<queryResultWindowSize>32</queryResultWindowSize>
		<queryResultMaxDocsCached>256</queryResultMaxDocsCached>
		<useFilterForSortedQuery>true</useFilterForSortedQuery>
	</query>

</config>
 

 

 

分享到:
评论

相关推荐

    SOLR学习笔记

    ### SOLR学习笔记 #### 一、Solr简介与特点 **Solr** 是一种开源的企业级搜索平台,它是基于 **Lucene Java** 构建的。Solr 的设计目标是为了提供高性能、高可用性的搜索服务,适用于各种规模的企业级应用。 **...

    Solr学习笔记.doc

    Solr学习笔记 Solr 是一种基于 Lucene 的搜索服务器,可以满足企业对搜索解决方案的需求。它支持层面搜索、命中醒目显示和多种输出格式,易于安装和配置,並且附带了一个基于 HTTP 的管理界面。 Solr 的主要特点...

    solr 学习笔记

    solr 学习笔记主要涵盖了 Solr 的基本安装与配置,以及 Solr 服务器复制的配置,这些都是初学者需要掌握的基础知识。 Solr 是一款基于 Lucene 的全文搜索引擎,广泛应用于大数据检索和文本分析。在安装 Solr 时,...

    Solr学习笔记(三)Solr客户端开发实例

    Solr学习笔记(三)——Solr客户端开发实例 在本文中,我们将深入探讨Solr客户端的开发,以便更好地理解如何在实际项目中利用Solr的强大功能。Solr是一款开源的全文搜索引擎,提供了高效的搜索和索引功能。通过Solr...

    Solr 学习笔记(五)-Solr扩展之分布式索引实例

    在本篇Solr学习笔记中,我们将探讨Solr的分布式索引功能,这对于处理大量数据和实现高可用性至关重要。Solr的分布式索引能力允许我们跨越多个节点分布和处理索引过程,从而提高索引速度和查询性能。在实际应用中,这...

    Solr学习笔记。。

    Solr 是一个开源的全文搜索服务器,由Apache Lucene项目维护。它提供了高效、可扩展的搜索和分析功能,常用于大数据量的全文检索、数据分析和分布式搜索应用。本篇文章将详细探讨Solr的安装运行、添加分词器以及配置...

    solr_学习笔记_v1.1

    ### Solr学习笔记_v1.1 - 高性能搜索引擎的核心参数与查询语法详解 #### 一、Query参数:深入理解Solr查询的核心要素 Solr作为高性能的全文搜索引擎,其强大的查询能力很大程度上依赖于一系列精细调整的参数。以下...

    lunece 学习笔记实用知识库分享知识分享

    Solr 学习笔记是指如何学习和使用 Solr。我们可以通过学习 Solr 的使用和实现来掌握 Solr。 Solr 控制台移除指定索引数据或者全部索引数据 Solr 控制台移除指定索引数据或者全部索引数据是指如何使用 Solr 的...

    solr-4.10.3.rar

    `xufuli.txt`可能是一个用户自定义的文档,可能是Solr学习笔记、配置示例或者使用心得。不过,由于具体内容未知,这里无法详细展开。 总之,Solr 4.10.3是一个强大且灵活的搜索引擎,适用于各种规模的企业级应用。...

    sorl学习笔记及相关教程

    《SOLR学习笔记及相关教程综合解析》 SOLR,全称为Apache Solr,是Apache软件基金会的一个开源项目,是基于Java的全文检索服务器。它提供了高效、可扩展的搜索和导航功能,广泛应用于各类企业的信息检索系统。这篇...

    使用java实现solr-7.1.0的api和solr最新支持的sql查询

    doc.addField("title", "Solr学习笔记"); client.add(doc); client.commit(); ``` 对于查询操作,你可以使用`SolrQuery`类来构造查询条件,然后调用`query()`方法执行查询: ```java SolrQuery query = new ...

    Solr详细学习笔记.doc

    Apache Solr 是一款基于 Lucene 的开源搜索服务器,专为企业级应用设计,提供高效、可伸缩、高可用和易维护的全文检索解决方案。Solr 强大的特性包括层面搜索、搜索结果高亮显示以及支持多种数据输出格式,如 XML、...

    solr学习心得和总结笔记

    【Solr学习心得与总结笔记】 一、站内搜索的技术选型 站内搜索的实现方式多样,但针对不同需求,技术选型有所不同: 1. 使用Lucene:Lucene是Java开发的全文检索库,提供了底层的搜索算法,但直接使用Lucene需要...

    Apache Solr 架设搜索服务器 学习笔记

    **Apache Solr 架设搜索服务器 学习笔记** Apache Solr 是一款强大的开源全文搜索引擎,基于 Lucene 库,提供了高效、可扩展的搜索和分析功能。它被广泛应用于各种规模的企业,用于构建高性能的搜索应用。这篇学习...

Global site tag (gtag.js) - Google Analytics