Nutch1.0+Solr3.6.1+IK中文分词

来源:互联网 发布:杭州二更网络二次融资 编辑:程序博客网 时间:2024/05/29 09:06

拷贝Nutch conf下的schema.xml文件到D:\apache-solr-1.4.1\example\solr\conf目录中并将原来的schema.xml文件重命名修改刚才拷贝过来的schema.xml文件,找到字段content

<field name="content" type="text" stored="false" indexed="true"/>

修改为

<field name="content" type="text"stored="true"indexed="true"/>

修改中文分词
<fieldType name="text" class="solr.TextField" >     <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>     <analyzer type="index">     <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>     <filter class="solr.StopFilterFactory"     ignoreCase="true" words="stopwords.txt"/>     <filter class="solr.WordDelimiterFilterFactory"     generateWordParts="1"     generateNumberParts="1"     catenateWords="1"     catenateNumbers="1"     catenateAll="0"     splitOnCaseChange="1"/>     <filter class="solr.LowerCaseFilterFactory"/>     <filter class="solr.EnglishPorterFilterFactory"     protected="protwords.txt"/>     <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>     </analyzer>   <analyzer type="query">     <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>     <filter class="solr.StopFilterFactory"     ignoreCase="true" words="stopwords.txt"/>     <filter class="solr.WordDelimiterFilterFactory"     generateWordParts="1"     generateNumberParts="1"     catenateWords="1"     catenateNumbers="1"     catenateAll="0"     splitOnCaseChange="1"/>     <filter class="solr.LowerCaseFilterFactory"/>     <filter class="solr.EnglishPorterFilterFactory"     protected="protwords.txt"/>     <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>     </analyzer>  </fieldType>






bin/nutch solrindex http://127.0.0.1:8983/solr/ crawl/crawldb crawl/linkdb crawl/segments/*


整个schema.xml文件内容为
<?xml version="1.0" encoding="UTF-8" ?>    <!--        Licensed to the Apache Software Foundation (ASF) under one or        more contributor license agreements. See the NOTICE file        distributed with this work for additional information regarding        copyright ownership. The ASF licenses this file to You under the        Apache License, Version 2.0 (the "License"); you may not use        this file except in compliance with the License. You may obtain        a copy of the License at        http://www.apache.org/licenses/LICENSE-2.0 Unless required by        applicable law or agreed to in writing, software distributed        under the License is distributed on an "AS IS" BASIS, WITHOUT        WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.        See the License for the specific language governing permissions        and limitations under the License.    -->    <!--        Description: This document contains solr schema definition to be        used with solr integration currently build into Nutch. See        https://issues.apache.org/jira/browse/NUTCH-442        https://issues.apache.org/jira/browse/NUTCH-699 for more info.    --><schema name="nutch" version="1.1">    <types>        <fieldType name="string" class="solr.StrField"            sortMissingLast="true" omitNorms="true"/>        <fieldType name="long" class="solr.LongField"            omitNorms="true"/>        <fieldType name="float" class="solr.FloatField"            omitNorms="true"/><!--        <fieldType name="text" class="solr.TextField"            positionIncrementGap="100">            <analyzer>                <tokenizer class="solr.WhitespaceTokenizerFactory"/>                <filter class="solr.StopFilterFactory"                    ignoreCase="true" words="stopwords.txt"/>                <filter class="solr.WordDelimiterFilterFactory"                    generateWordParts="1" generateNumberParts="1"                    catenateWords="1" catenateNumbers="1" catenateAll="0"                    splitOnCaseChange="1"/>                <filter class="solr.LowerCaseFilterFactory"/>                <filter class="solr.EnglishPorterFilterFactory"                    protected="protwords.txt"/>                <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>            </analyzer>        </fieldType>--><fieldType name="text" class="solr.TextField" >     <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>     <analyzer type="index">     <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>     <filter class="solr.StopFilterFactory"     ignoreCase="true" words="stopwords.txt"/>     <filter class="solr.WordDelimiterFilterFactory"     generateWordParts="1"     generateNumberParts="1"     catenateWords="1"     catenateNumbers="1"     catenateAll="0"     splitOnCaseChange="1"/>     <filter class="solr.LowerCaseFilterFactory"/>     <filter class="solr.EnglishPorterFilterFactory"     protected="protwords.txt"/>     <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>     </analyzer>   <analyzer type="query">     <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>     <filter class="solr.StopFilterFactory"     ignoreCase="true" words="stopwords.txt"/>     <filter class="solr.WordDelimiterFilterFactory"     generateWordParts="1"     generateNumberParts="1"     catenateWords="1"     catenateNumbers="1"     catenateAll="0"     splitOnCaseChange="1"/>     <filter class="solr.LowerCaseFilterFactory"/>     <filter class="solr.EnglishPorterFilterFactory"     protected="protwords.txt"/>     <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>     </analyzer>  </fieldType>        <fieldType name="url" class="solr.TextField"            positionIncrementGap="100">            <analyzer>                <tokenizer class="solr.StandardTokenizerFactory"/>                <filter class="solr.LowerCaseFilterFactory"/>                <filter class="solr.WordDelimiterFilterFactory"                    generateWordParts="1" generateNumberParts="1"/>                <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>            </analyzer>        </fieldType>    </types>    <fields><field name="text" type="text" stored="false" indexed="false"/>        <field name="id" type="string" stored="true" indexed="true"/>        <!-- core fields -->        <field name="segment" type="string" stored="true" indexed="false"/>        <field name="digest" type="string" stored="true" indexed="false"/>        <field name="boost" type="float" stored="true" indexed="false"/>        <!-- fields for index-basic plugin -->        <field name="host" type="url" stored="false" indexed="true"/>        <field name="site" type="string" stored="false" indexed="true"/>        <field name="url" type="url" stored="true" indexed="true"            required="true"/>        <field name="content" type="text" stored="true" indexed="true"/>        <field name="title" type="text" stored="true" indexed="true"/>        <field name="cache" type="string" stored="true" indexed="false"/>        <field name="tstamp" type="long" stored="true" indexed="false"/>        <!-- fields for index-anchor plugin -->        <field name="anchor" type="string" stored="true" indexed="true"            multiValued="true"/>        <!-- fields for index-more plugin -->        <field name="type" type="string" stored="true" indexed="true"            multiValued="true"/>        <field name="contentLength" type="long" stored="true"            indexed="false"/>        <field name="lastModified" type="long" stored="true"            indexed="false"/>        <field name="date" type="string" stored="true" indexed="true"/>        <!-- fields for languageidentifier plugin -->        <field name="lang" type="string" stored="true" indexed="true"/>        <!-- fields for subcollection plugin -->        <field name="subcollection" type="string" stored="true"            indexed="true"/>        <!-- fields for feed plugin -->        <field name="author" type="string" stored="true" indexed="true"/>        <field name="tag" type="string" stored="true" indexed="true"/>        <field name="feed" type="string" stored="true" indexed="true"/>        <field name="publishedDate" type="string" stored="true"            indexed="true"/>        <field name="updatedDate" type="string" stored="true"            indexed="true"/>    </fields>    <uniqueKey>id</uniqueKey>    <defaultSearchField>content</defaultSearchField>    <solrQueryParser defaultOperator="OR"/>    <copyField source="url" dest="id"/></schema>

抓取方式

先抓取文件,后建立索引

bin/nutch crawl urls -dir crawl -depth 10 -threads 10 -topN 1000

bin/nutch solrindex http://127.0.0.1:8983/solr/ crawl/crawldb crawl/linkdb crawl/segments/*参考文档http://wiki.apache.org/nutch/NutchTutorial#A4._Setup_Solr_for_searchhttp://space.itpub.net/23071790/viewspace-703827http://searchhub.org/dev/2009/03/09/nutch-solr/



原创粉丝点击