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

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...

Global site tag (gtag.js) - Google Analytics