默认nutch 1.7 与solr建的索引 字段 都在 conf/solrindex-mapping.xml 里定义
此文章建立在 nutch 与 solr 已经以基本默认配置搭建好的情况。
现在如有需求新增自定义解析保存字段,与默认有的数据并存,比如,新增一个叫 imgurl 的字段
如上需求需要修改以下地方:
1、ParseData,修改保存数据的结构,nutch默认把解析后的数据存于 ParseData。我们新增一个字段叫urls
并提供 get 方法,修改构造函数里的传值。 并在 readFields 方法里 新增:urls = Text.readString(in);
2、做了如上修改,ParseOutputFormat.java 、ParseStatus.java 类会报错,因为 ParseData的构造方法新增了个字段。修改这两个类
3、现在到重点,修改 parse-html 插件的 HtmlParser.java 类,
定义一个变量 urls,然后获取 imgUrls 的值的方法,最后在new PraseData的时候把urls值传进去。
4、修改 index-basic 插件的 BasicIndexing.java 类。
做如图修改,将从 ParseData 中获取的 urls 的值 添加到 NutchDocument 中,用以之后建索引。
5、修改 conf/solrindex-mapping.xml 配置文件
新增一个字段 <field dest="imgUrls" source="imgUrls"/>
dest属性值必须与上面 doc.add 中填写的字符串内容一致
6、修改 solr 中的 conf/schema.xml 文件,新增字段
<field name="img" type="string" stored="true" indexed="true"/>
field name 必须与上面 的source 属性值 一致。
至此,修改完成。贴图一张