Solr Cookbook学习记录 - 第一章Solr配置

curl形式提交请求
curl 'http://localhost:8983/solr/update?commit=true'
-H 'Content-type:application/json'
-d '[{"id":"1","file":{"set":"new filename"}}]'
----------------------------------------------------------------------------------------------------------------------------------------------------------
第一章 Apache Solr配置

jetty solr配置

java -Dsolr.solr.home=/usr/local/solr -jar start.jar

改变jetty的端口
1. java -Djetty.port=9999 -jar start.jar
2. 修改jetty.xml

Buffer size is too small,修改jetty.xml,添加下面语句:
<Set name="headerBufferSize">32768</Set>
----------------------------------------------------------------------------------------------------------------------------------------------------------
Apache solr 配置
1. 配置$TOMCAT_HOME变量
2. 修改server.xml,添加URIEncoding="UTF-8"
3. 在$TOMCAT_HOME/conf/Catalina/localhost/目录下,创建solr.xml文件。
<Context path="/solr" docBase="/usr/local/tomcat/webapps/sdolr.war"
debug="0" crossContext="true">
    <Environment name="solr/home" type="java.lang.String" value="/usr/local/solr/"
    override="true"/>
</Context>
4. 复制apache-solr-4.6.0.war到tomcat/webapps/目录下,重命名为solr.war
5. 建立一个solr core(复制修改示例core目录即可)
6. zoo.cfg文件是SolrCloud用的。solr.xml文件的大概内容:
<solr persistent="true">
    <cores adminPath="/admin/cores" defaultCoreName="collection1">
        <core name="collection1" instanceDir="collection1" />
    </cores>
</solr>
7. 修改schema.xml,solrconfig.xml文件。
8. 启动tomcat, bin/catalina.sh start|stop|restart|debug|run

改变tomcat端口
修改TOMCAT_HOME/conf/server.xml,<Connector port="9999" protocol="HTTP/1.1" ... />
----------------------------------------------------------------------------------------------------------------------------------------------------------
zookeeper配置
1. 修改/usr/local/zookeeper/conf/zoo.cfg,增加如下内容:
clientPort=2181
dataDir=/usr/local/zookeeper/data
tickTime=2000
initLimit=10
syncLimit=5
server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888
2. 启动zookeeper服务
/usr/local/zookeeper/bin/zkServer.sh start
----------------------------------------------------------------------------------------------------------------------------------------------------------
Solr Cloud配置
1. solorconfig.xml中开启replication
<requestHandler name="/replication" class="solr.ReplicationHandler" />

<requestHandler name="/admin/" class="solr.admin.AdminHandlers" />

<requestHandler name="/get" class="solr.RealTimeGetHandler">
    <lst name="defaults">
        <str name="omitHeader">true</str>
    </lst>
</requestHandler>

<updateLog>
    <str name="dir">${solr.data.dir:}</str>
</updateLog>
2. solr.xml添加adminPath
<cores adminPath="/admin/cores" ... />
----------------------------------------------------------------------------------------------------------------------------------------------------------
spellchecker配置
1. 修改solrconfig.xml,添加spellchecking组件。
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
    <str name="queryAnalyzerFieldType">title</str>
    <lst name="spellchecker">
        <str name="name">direct</str>
        <str name="field">title</str>
        <str name="classname">solr.DirectSolrSpellChecker</str>
        <str name="distanceMeasure">internal</str>
        <float name="accuracy">0.8</float>
        <int name="maxEdits">1</int>
        <int name="minPrefix">1</int>
        <int name="maxInspections">5</int>
        <int name="minQueryLength">3</int>
        <float name="maxQueryFrequency">0.01</float>
    </lst>
</searchComponent>
2. 修改solrconfig.xml,添加request handler。
<requestHandler name="/spell" class="solr.SearchHandler" startup="lazy">
    <lst name="defaults">
        <str name="df">title</str>
        <str name="spellcheck.dictionary">direct</str>
        <str name="spellcheck">on</str>
        <str name="spellcheck.extendedResults">true</str>
        <str name="spellcheck.count">5</str>
        <str name="spellcheck.collate">true</str>
        <str name="spellcheck.collateExtendedResults">true</str>
    </lst>
    <arr name="last-components">
        <str>spellcheck</str>
    </arr>
</requestHandler>
3. 查询spelling suggestions:/spell?q=car
----------------------------------------------------------------------------------------------------------------------------------------------------------
配置多个spellchecker
<requestHandler name="/spell" class="solr.SearchHandler" startup="lazy">
    <lst name="defaults">
        <str name="df">title</str>
        <str name="spellcheck.dictionary">direct</str>
        <str name="spellcheck.dictionary">word</str>
        <str name="spellcheck.dictionary">better</str>
        <str name="spellcheck">on</str>
        <str name="spellcheck.extendedResults">true</str>
        <str name="spellcheck.count">5</str>
        <str name="spellcheck.collate">true</str>
        <str name="spellcheck.collateExtendedResults">true</str>
    </lst>
    <arr name="last-components">
        <str>spellcheck</str>
    </arr>
</requestHandler>
----------------------------------------------------------------------------------------------------------------------------------------------------------
获取,索引网页
1. 下载nutch,存放在/usr/local/nutch/目录。
2. $NUTCH_HOME/conf/nutch-default.xml,设置http.agent.name的值。
<property>
    <name>http.agent.name</name>
    <value>SolrCookbookCrawler</value>
    <description>HTTP 'User-Agent' request header.</description>
</property>
3. 在$NUTCH_HOME目录下创建二个空的目录,命名为crawl,urls。
4. 在$NUTCH_HOME/urls/目录下创建seed.txt文件。
5. 编辑$NUTCH_HOME/conf/crawl-urlfilter.txt
+^http://([a-z0-9]*\.)*lucene.apache.org/
6. 复制$NUTCH_HOME/conf/schema-solr4.xml到/usr/local/solr/collection1/conf/下,
    重命名为schema.xml
7. 修改schema.xml文件,change 1.5.1 to 1.5。
<schema name="nutch" version="1.5">
8. 修改schema.xml,change boost field from string to float。
<field name="boost" type="float" stored="true" indexed="false"/>
9. /bin/nutch crawl urls -solr http://localhost:8983/solr/ -depth 3 -topN 50
----------------------------------------------------------------------------------------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值