本文只是Solr 4.0的基教程Q本Zl常写东西,写的不好误谅,Ƣ迎到群233413850q行讨论学习?br /> 先说一炚w|之后肯定会有h用solrjQsolr 4.0好像d了不东西,其中CommonsHttpSolrServerq个cL
名ؓHttpSolrServerQ我是找了半天才发现Q大家以后可以注意?/p>
部v前准?
Solr 4.0 目录:

q里是我的部|方式,Tomcat安装好之后把apache-solr-4.0.0\example\webapps下的solr.war文g拯到Tomcat下的
Tomcat7.0\webapps目录下,然后启动Tomcat 报错不用,solr.war会自动解压,之后打开Tomcat7.0\webapps\solr\WEB-
INF\web.xmlQ把下面代码复制q去攑ֈ后面Q?/p>
- <env-entry>
- <env-entry-name>solr/home</env-entry-name>
- <env-entry-value>E:\SolrHome</env-entry-value>
- <env-entry-type>java.lang.String</env-entry-type>
- </env-entry>
复制代码 其中 E:\SolrHome 是存放solr配置文g{,修改己文件的位置Qؓ了看着更清晰直观,你可以这h:
E:\Tomcat7.0
E:\apache-solr-4.0.0
E:\SolrHome
现在可以重新启动Tomcat了,没有报错Q通过q个地址q入Solr4.0面:http://localhost:8080/solr

如果q入以上界面说明成功了,没有成功的话面会有ERROR提示?/p>
如图Q左侧core0,core1{是solr 4.0中的CZQcore0和core1位于apache-solr-4.0.0\example\multicore所有文仉下拷?/p>
到E:\SoleHome下,core0和core1可以理解Z个库Q都是独立的Q用来存攄引以及生成这些烦引文件所需要的配置文gQsolrtest是我试建立的目录,如图Q?/p>

没添加一个库都需要在solr.xml里面q行配置Q这个比较简?/p>
- <solr persistent="false">
- <cores adminPath="/admin/cores" host="${host:}" hostPort="${jetty.port:}">
- <core name="core0" instanceDir="core0" />
- <core name="core1" instanceDir="core1" />
- <core name="collection1" instanceDir="collection1" />
- <core name="solrtest" instanceDir="solrtest"/>
- </cores>
- </solr>
复制代码 name=""Q是库的名字QinstanceDir=""Q是目录
每个目录下包含两个文件夹conf和dataQdata下有两个文g夹index和tlogQindex是存攄成的索引文gQtlog存放logQ?/p>
conf下是必要的配|文件schema.xml和solrconfig.xmlQ可以参考官Ҏ者core里面的配|文Ӟ
- <?xml version="1.0" ?>
- <schema name="example solr test" version="1.1">
- <types>
- <fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
- <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
- </types>
- <fields>
- <!-- general -->
- <field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true"/>
- <field name="type" type="string" indexed="true" stored="true" multiValued="false" />
- <field name="name" type="string" indexed="true" stored="true" multiValued="false" />
- <field name="_version_" type="long" indexed="true" stored="true"/>
- </fields>
- <!-- field to use to determine and enforce document uniqueness. -->
- <uniqueKey>id</uniqueKey>
- <!-- field for the QueryParser to use when an explicit fieldname is absent -->
- <defaultSearchField>name</defaultSearchField>
- <!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
- <solrQueryParser defaultOperator="OR"/>
- </schema>
复制代码 solrconfig.xml我还不是很懂Q在q里׃讲了Q但是必配|(好像是必配Q:
- <?xml version="1.0" encoding="UTF-8" ?>
- <!-- 可以从core文g中copyq来 -->
- <config>
- <luceneMatchVersion>LUCENE_40</luceneMatchVersion>
-
- <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/>
- <dataDir>${solr.solrtest.data.dir:}</dataDir> q里solr.后面名字Ҏ
- <updateHandler class="solr.DirectUpdateHandler2">
- <updateLog>
- <str name="dir">${solr.solrtest.data.dir:}</str>
- </updateLog>
- </updateHandler>
- <requestHandler name="/get" class="solr.RealTimeGetHandler">
- <lst name="defaults">
- <str name="omitHeader">true</str>
- </lst>
- </requestHandler>
-
- <requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" />
- <requestDispatcher handleSelect="true" >
- <requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="2048" />
- </requestDispatcher>
-
- <requestHandler name="standard" class="solr.StandardRequestHandler" default="true" />
- <requestHandler name="/analysis/field" startup="lazy" class="solr.FieldAnalysisRequestHandler" />
- <requestHandler name="/update" class="solr.UpdateRequestHandler" />
- <requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />
- <requestHandler name="/admin/ping" class="solr.PingRequestHandler">
- <lst name="invariants">
- <str name="q">solrpingquery</str>
- </lst>
- <lst name="defaults">
- <str name="echoParams">all</str>
- </lst>
- </requestHandler>
- <!-- config for the admin interface -->
- <admin>
- <defaultQuery>solr</defaultQuery>
- </admin>
- </config>
复制代码 之后在exampledocs目录下手动创Z个solr1.xml文gQ?/p>
- <?xml version="1.0" ?>
- <add>
- <doc>
- <field name="id">solr1</field>
- <field name="type">type1</field>
- <field name="name">my solr test</field>
- </doc>
- </add>
复制代码 跟schema.xml中的字段对应Q好了现在可以提交数据了Q这里在window命oH口提交数据Q把E:\apache-solr-
4.0.0\example\exampledocs下的post.jar复制?E:\SolrHome\exampledocs?/p>
打开命oH口CD 到E:\SolrHome\exampledocs下用命令,Tomcat不要忘了开Q?/p>
java -Durl=http://localhost:8080/solr/solrtest/update -Ddata=files -jar post.jar solr1.xml

如图成功的添加的索引Q看下E:\SolrHome\solrtest\data\index下的文gQ?/p>

q入solr面Q?br />

点击Executu Query查询Q右侧生成了地址可以打开查看Q到此结束?/p>
原文地址Q?a target="_blank">http://insolr.com/forum.php?mod=viewthread&tid=880&page=1&extra=#pid969

]]>