Я использую solr для индексации RSS-каналов и использую DataImportHandler для анализа URL-адресов и их индексации. Теперь я реализовал веб-сервис, который берет URL-адрес, создает эскиз и сохраняет его в локальном каталоге.
Итак, вот что я хочу сделать: после анализа URL-адреса я хочу отправить Http-запрос в веб-службу с URL-адресом. ScriptTransformer показался мне подходящим, и вот как выглядит мой файл data-config.xml.
<dataConfig>
<script> <![CDATA[ function sendURLRequest(row){
var url = new java.net.URL("http://***********/GenerateThumbnail?url=http://money.cnn.com/2011/07/20/news/economy/debt_ceiling_deal/index.htm?cnn=yes");
url.openConnection().connect();
return row; } ]]>
</script>
<dataSource type="JdbcDataSource" name="dbSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/solr_sources" user="root" password="******"/>
<document>
<entity name="rssFeedItems" rootEntity="false" dataSource="dbSource" query="select url from rss_feeds">
<entity name="rssFeeds" dataSource="urlSource" url="${rssFeedItems.url}" transformer="script:sendURLRequest" processor="XPathEntityProcessor" forEach="/rss/channel/item">
<field column="title" xpath="/rss/channel/item/title"/>
<field column="link" xpath="/rss/channel/item/link" />
<field column="description" xpath="/rss/channel/item/description" />
<field column="date_published" xpath="/rss/channel/item/pubDate"/>
</entity>
</entity>
.................
................
Как вы можете видеть из файла конфигурации данных, в настоящее время я тестирую, чтобы проверить, будет ли это работать путем жесткого кодирования фиктивного URL.
url.openConnection () подключение (). Должен сделать запрос HTTP. Но изображение не генерируется.
Я не вижу ошибок компиляции. Я попробовал пример сценария распечатки сообщения
var v = new java.lang.Runnable() {
run: function() { print('********************PRINTING************************'); }
}
v.run();
И это сработало.
Я даже поиграл с именами функций, чтобы они вызывали некоторые ошибки компиляции, и он выдавал ошибки, которые показывают, что он способен создавать объекты типа класса URL и URL-соединения.
Есть предложения?