Chcę użyć wielu źródeł danych w DataImporthandler w Solr i przekazać wartość URL w encji podrzędnej po zapytaniu bazy danych w jednostce nadrzędnej
Chcę użyć wielu źródeł danych w DataImporthandler w Solr i przekazać wartość URL w encji podrzędnej po zapytaniu bazy danych w jednostce nadrzędnej. Oto mój plik rss-data-config:
<dataConfig>
<dataSource type="JdbcDataSource" name="ds-db" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/HCDACoreDB"
user="root" password="CDA@318"/>
<dataSource type="URLDataSource" name="ds-url"/>
<document>
<entity name="feeds" query="select f.feedurl, f.feedsource, c.categoryname from feeds f, category c where f.feedcategory = c.categoryid">
<field column="feedurl" name="url" dataSource="ds-db"/>
<field column="categoryname" name="category" dataSource="ds-db"/>
<field column="feedsource" name="source" dataSource="ds-db"/>
<entity name="rss"
transformer="HTMLStripTransformer"
forEach="/RDF/channel | /RDF/item"
processor="XPathEntityProcessor"
url="${dataimporter.functions.encodeUrl(feeds.feedurl)}" >
<field column="source-link" dataSource="ds-url" xpath="/rss/channel/link" commonField="true" />
<field column="Source-desc" dataSource="ds-url" xpath="/rss/channel/description" commonField="true" />
<field column="title" dataSource="ds-url" xpath="/rss/channel/item/title" />
<field column="link" dataSource="ds-url" xpath="/rss/channel/item/link" />
<field column="description" dataSource="ds-url" xpath="/rss/channel/item/description" stripHTML="true"/>
<field column="pubDate" dataSource="ds-url" xpath="/rss/channel/item/pubDate" />
<field column="guid" dataSource="ds-url" xpath="/rss/channel/item/guid" />
<field column="content" dataSource="ds-url" xpath="/rss/channel/item/content" />
<field column="author" dataSource="ds-url" xpath="/rss/channel/item/creator" />
</entity>
</entity>
</document>
To, co robię, jest w pierwszym elemencie o nazwie feeds. Sprawdzam bazę danych i chcę użyć feedurl jako adresu URL dla nazwy jednostki potomnej rss.
Błąd, który pojawia się, gdy uruchamiam dataimport, to: java.net.MalformedURLException: brak protokołu: nullselect f.feedurl, f.feedsource, c.categoryname z kanałów f, kategoria c, gdzie f .feedcategory = c.categoryid
URL us NULL oznacza, że nie przypisuje on adresu URL.
Wszelkie sugestie dotyczące tego, co robię źle?