欢迎投稿

今日深度:

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>
 

 

 

www.htsjk.Com true http://www.htsjk.com/solr/30925.html NewsArticle solr学习笔记, solr使用指南   http://blog.csdn.net/liuzhenwen/article/details/4060922   SOLR技术文档 1.了解lucene 原理,全文搜索概念,参考(http://wishlife.iteye.com/category/30179) .建立自己的索引库. 2.了解...
相关文章
    暂无相关文章
评论暂时关闭