Преобразуйте одно поле в несколько полей в Solr - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь проиндексировать некоторые данные в Solr из обхода Nutch 1.16, но некоторые поля либо содержат избыточные данные (т. Е. "metatag.author":["someone","someone"]"), либо они просто sh превращают каждое поле метаданных в одно (т. Е. "content":["Raro Bueno\nRaro Bueno\nChuzausen\nAwesome Is Grey, track 6, disc 0/0\n2013-08-17T22:40:55\nelectronic\n30014.912\n"]). .

Что я хотел бы знать, так это то, есть ли команда перед индексированием или, предпочтительно, после индексации данных, чтобы изменить поле «содержимое» или разделить его на разные, не менее важные поля (например, метатег). .author, track_number и album являются независимыми полями) ИЛИ хотя бы элементы «содержимого» должны отображаться в своих собственных тегах, например что-то вроде:

"content":{
   "track_number":["..."],
   "album":[...],
   "tags":[..],
   ...},
...

1 Ответ

1 голос
/ 05 апреля 2020

Nutch предоставляет плагин «index-metadata», который позволяет добавлять произвольные поля, доступные в синтаксическом анализе или метаданные контента, в индексированные документы. Файлы mp3 анализируются с помощью плагина "parse-tika", который уже заполняет несколько полей в метаданных разбора:

$> 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»:

$> 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

После этого вам нужно будет перенести свойства конфигурации на nutch-сайт. xml и ev. также адаптируйте схему Solr.

Поле «содержимое» может быть полезно для подачи одного окна поиска, особенно в случаях, когда поля заполнены неправильно. Также подумайте о ситуациях, когда у вас есть несколько авторов (musi c, тексты песен, аранжировка) и исполнители (соло, вокал, дирижер и т. Д. c.)

...