Indexing 将Solr中的一个字段转换为多个字段

Indexing 将Solr中的一个字段转换为多个字段,indexing,solr,lucene,web-crawler,nutch,Indexing,Solr,Lucene,Web Crawler,Nutch,我试图将一些数据从Nutch 1.16爬网索引到Solr中,但有些字段要么有冗余数据(即“metatag.author”:[“someone”,“someone”]“),要么只是将每个元数据字段合并到一个字段中(即“content”:[”Raro Bueno\nRaro Bueno\nChuzausen\nAwesome是灰色的,磁道6,光盘0/0\n2013-08-17T22:40:55\n电子\n30014.912\n“]) 我想知道的是,在索引数据之前或最好在索引数据之后,是否有命令将“内

我试图将一些数据从Nutch 1.16爬网索引到Solr中,但有些字段要么有冗余数据(即
“metatag.author”:[“someone”,“someone”]“
),要么只是将每个元数据字段合并到一个字段中(即
“content”:[”Raro Bueno\nRaro Bueno\nChuzausen\nAwesome是灰色的,磁道6,光盘0/0\n2013-08-17T22:40:55\n电子\n30014.912\n“]

我想知道的是,在索引数据之前或最好在索引数据之后,是否有命令将“内容”字段修改为不同的、同等重要的字段(即metatag.author、track_number和album是独立字段),或者至少在“内容”中包含元素“将显示在它们自己的标记中,例如:

"content":{
   "track_number":["..."],
   "album":[...],
   "tags":[..],
   ...},
...
Nutch提供了一个插件“索引元数据”,它允许向索引文档添加解析或内容元数据中可用的任意字段。使用插件“parse tika”解析mp3文件,该插件已填充解析元数据中的多个字段:

$> bin/nutch parsechecker -Dplugins.includes='protocol-file|parse-tika' \
    file:/.../RainDogs.mp3 
...
contentType: audio/mpeg
...
Status: success(1,0)
Title: Rain Dogs
Outlinks: 0
Content Metadata: Last-Modified=Sat, 07 Aug 2010 11:53:42 GMT Content-Length=4250145 nutch.crawl.score=0.0 Content-Type=audio/mpeg 
Parse Metadata: xmpDM:genre= creator=Tom Waits xmpDM:album=Rain Dogs xmpDM:trackNumber=10 xmpDM:releaseDate=1985 meta:author=Tom Waits xmpDM:artist=Tom Waits dc:creator=Tom Waits xmpDM:audioCompressor=MP3 xmpDM:audioChannelType=Stereo version=MPEG 3 Layer III Version 1 xmpDM:logComment= xmpDM:audioSampleRate=44100 channels=2 dc:title=Rain Dogs Author=Tom Waits xmpDM:duration=177093.546875 Content-Type=audio/mpeg samplerate=44100
现在,您可以选择任何字段并将其添加到索引中。首先,我将使用工具“indexchecker”测试设置:

之后,您需要将配置属性传输到nutch-site.xml和ev。还要调整Solr模式


“内容”字段可用于输入单个搜索框,尤其是在字段填写不正确的情况下。另外,想想你有多个作者(音乐、歌词、编排)和表演者(独唱、声乐、指挥家等)的情况。

你希望如何区分不同的内容?在Nutch端,还是在Solr端(即通过正则表达式匹配)?你是如何用Nutch索引内容的?两者中的哪一个都可以,但我更喜欢在Solr上。对于我试图索引的文件(.mp3文件,在本地存储库的爬网过程中通过编辑nutch-site.xml获得元标记),我想我可以使用
\n
作为分隔符。我主要是尝试抓取音频文件,用nutch提取它们的信息和元数据,然后使用提供的片段并将它们存储在Solr.Hmm中,虽然我理解它,但它似乎对我不起作用。获取
错误:未识别参数:-Dplugins.includes=protocol file | parse tika | ind ex-(基本|元数据)
当我运行indexchecker代码时,加上尽管我在
index.parse.md
属性中添加了元标记名称(即
元标记.描述,元标记.关键字,元标记.author,xmpDM,元标记.meta,xmpDM,元标记.meta,xm:genre…
)当按原样发出indexchecker(没有额外参数)和文件名时,它们不会显示。我还做错了什么吗?好吧,我还是可以通过indexchecker获得其余的标签。谢谢
$> bin/nutch indexchecker \
    -Dplugins.includes='protocol-file|parse-tika|index-(basic|metadata)' \
    -Dindex.parse.md='creator,xmpDM:album' \
    file:/.../RainDogs.mp3 
contentType: audio/mpeg
creator :       Tom Waits
xmpDM:album :   Rain Dogs
tstamp :        Sun Apr 05 13:12:51 CEST 2020
digest :        0ff28956642335818afc7f00b5420e93
host :
id :    file:/mnt/data/wastl/private2/musik/player_sync/rock/Tom Waits - Rain Dogs/10 - Tom Waits - Rain Dog
title : Rain Dogs
url :   file:/mnt/data/wastl/private2/musik/player_sync/rock/Tom Waits - Rain Dogs/10 - Tom Waits - Rain Dog
content :       Rain Dogs
Rain Dogs
Tom Waits
Rain Dogs, track 10
1985
177093.55