Add the code to print the exception.
use new IDocumentDeleteSubprocessors to handle clean-up of annotation index fields when annotations are removed.
use refactored classes from cn-index-processor. still in flux, but improving to better handle non-xml files
update classes and context files that use cn-index-processor classes. allowing document subprocessors to be less tied to XML.
when we remove a slor index of a resource map, we don't need to know the content of the resource map. Instead, we will search the solr index to get information.
Add the code to handle to remove the resource map index.
update to use v2 types for indexing
pass around the object file path rather than the data stream so that multiple subprocessors can index the same object and not consume the stream before it gets to the next one. In preparation for extending the assertions stored in OREs. https://projects.ecoinformatics.org/ecoinfo/issues/6548
only allow multiple values for multi-valued fields....
allow multivalued fields to be indexed using the "fields" pass through.
handle null Boolean in SM.archived field
include ID field as a minimum for indexing additional fields.
correctly include stacktrace for error debugging.
check for existing index document before trying to use existing fields.
Unify solr indexing with an IndexTask that is added to the queue -- allows us to send more than just the systemMetadata to the indexer. Initially this is for READ event counts for each document. https://projects.ecoinformatics.org/ecoinfo/issues/6346
Rename the IndexGenerator to IndexGeneratorTimerTask.
Fixed a bug that when a data file was archived, the solr index for the metadata object still kept the "documents" element.
made the delete method synchronized.
If an object was archived, the solr index will be removed for it.
Remove the obsoletes chain from the update method in the SolrIndex class.
When an object is archvied, the solr index will not be removed.
Change the parameters order of the constructor. We maybe reuse some code from d1_cn_processor.
Modified the documentation.
Add a constructor.
Remove the constructor.
use the v1.1.x branch ResourceMap class for metacat-index
Use the ResourceMapFactory rather than the ResourceMap constructor to build a resource map.
Besides the getArchvied() method, the getObsoletedBy method was added to determine if the object is archvied or not.
Remove the EventLog write.
It will throw an exception if the subprocessor can't handle the document.
move IndexEvent into metacat-common. Perparation for Metacat responding to events and writing them to a persistent store. https://projects.ecoinformatics.org/ecoinfo/issues/5944
refactor IndexEventLog a bit to simplify type/action information. prep for serializing IndexEvent objects to Metacat. https://projects.ecoinformatics.org/ecoinfo/issues/5944
Add set and get the lastprocessedDate in the IndexEventLog.Remove the code to write the successful event.
Log the timed index jobs.
Add the code to log the failed events.
Add a temporary file log for debugging.
Add code to handle delete data package information when delete a pid in the solr index.
Use SolrQueryServiceController to get the ValidFieldList.
Add the code to add a resource map information.
Add log information for archiving or inserting indexes.
Consider mutithread issue there.
Use an update method to replace the insert and update methods in the SolrIndex class.
Add a new class which will generate index for the ids.
Add code to get all doc ids in the solr server.
Add a remove(List) method in the class and an obsoletes list parameter in the update method.
naive version of SolrServerFactory - no reflection. It returns an EmbeddedSolrServer implementation based on the solr.homeDir set in Settings class. https://projects.ecoinformatics.org/ecoinfo/issues/5883
simplify testing with embedded solr server locations -- no need to copy solr-home or set system properties. Still more to do (factory method) but this is getting cleaner.
Add the update method.
Get the solr home dir from the metacat.properties.
Add a query method in the test.
Change one parameter type of the insert method from the InputStream to the SystemMetadata.
Make EmbeddedServer work. It is for solr 3.4 since the d1_cn_index_processor depends on that version.
Use the EmbeddedSolrServer to replace HttpSolrServer. Now it still has some issues.
Add junit test class to test the SolrIndex class.
Add insert method for SolrIndex.
Figured out to read beans from the configuration file.