Release 1.0.4

Upgrading from 1.0.3

If you have configured ImageUpdateFactory with processor.continueOnError=true, then your error handling must be modified. Failed documents are no longer logged to log file in a temporary directory, but they are returned as part of the normal Solr response.

Remove the settings pixolution.id.fieldname and processor.id.fieldname from your solrconfig.xml. These are deprecated and will be ignored by pixolution flow. Make sure that the <uniqueKey> is configured in your schema.xml. This field is now used by pixolution flow.

Note that the delivered jar file has a different filenname pixolutionForApacheSolr.jar. Correct the import of the jar file in your configuration accordingly (either solr.xml or solrconfig.xml). Delete the old jar file.

New Features

Statistics module for queries and image indexing

It is now possible to gain insights of internal statistics of pixolution flow. You can inspect them via the Admin UI of Solr (http://localhost:8983/solr/#/collection1/plugins/other). There are two entries: pixolutionComponent and pixolutionImageLoader. There are several statistics available.

The pixolutionImageLoader entry contains statistics of image downloading times and feature calculations while indexing. It shows how many images where loaded and how many errors occured. The pixolutionComponent entry contains the total number of visual queries. This number is broken down into the different types (searching by ID, color or URL) and the number of errors. It also contains the time for preparing a visual query (parsing the request, prefetching all information necessary).

All statistics count since the last startup of Solr and will be reset through a new startup.

Bug Fixes

Nullpointer exception when doing Atomic Update

Modifying fields of a document with an existing feature triggers an exception, since the value of the feature could not properly read from the index. This bug is fixed.

Indexed feature might get lost when doing Atomic Update

If a document field other than the feature field is updated via an Atomic Update, the indexed feature might get lost when the uniqueKey fieldtype is a different type than an unprocessed solr.StrField. This is now fixed.

Optimizations

Changed processor.continueOnError behaviour

pixolution flow does not create and log failed document contents to a dedicated log file. Instead the failed documents are collected and are returned in the response of Solr. This way your error handling implementation is much simpler, since the error messages are delivered directly to the client rather than logging it to a file without notification. Please see the API for details.

Other Changes

Set unlimited speed for processor.loader.kBytesPerSecPerCon

You can now set the maximum allowed bandwidth usage when downloading images to unlimited by setting this option to <=0.

processor.id.fieldname and pixolution.id.fieldname removed

pixolution flow reads the <uniqueKey> fieldname directly from the schema.xml. This way you don’t have to configure the id fieldname manually and it is ensured that you have configured a <uniqueKey> field in the schema.xml. The settings pixolution.id.fieldname and processor.id.fieldname in your solrconfig.xml are deprecated and will be ignored.