add fieldsToMerge property for annotation updates
add stub merge method to match Skye's recent refactoring to support reindexing when deletes are performed.
use refactored classes from cn-index-processor. still in flux, but improving to better handle non-xml files
add accessors for bean property
use ISolrDataField because RDF subprocessor uses the SparqlField subclass.
use input stream instead of Document for resource map processing test
update classes and context files that use cn-index-processor classes. allowing document subprocessors to be less tied to XML.
use sparql field and triple store from cn-index_processor (refactor). include annotatorSubprocessor for testing in metacat-index
let metacat-index lookup annotations for indexing rather than the metacat "reindex" action.
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.
Add codes to handle remove a source map solr index.
Create a valid URI by using all lowercase letters when creating a name for the triple model in the Rdf Xml Subprocessor. See bug: https://projects.ecoinformatics.org/ecoinfo/issues/6595
When indexing annotations from RDFs, use the doc id to access the system metadata, not the model name since they are not always the same.
Add PROV relationships to the Solr schema. Populate the fields using the RdfXmlSubprocessor
Add wasDerivedFrom field to the Solr schema and use Sparql query to retrieve the value from the RDF
update to use v2 types for indexing
handle multiple subprocessors (RDF and ORE) before the object gets indexed by making sure to merge the solr doc map before submitting to the index.
use default "metacat" context name for metacat-index testing.
include ORE formatId as handled by the RDF subprocessor and index prov:wasDerivedFrom field where it exists in the RDF model. https://projects.ecoinformatics.org/ecoinfo/issues/6548
use a non-public rightsHolder for both EML and Annotation test documents now that the RDF subprocessor checks each annotation to see that it came from a user that as write permission for the object being annotated.
test for update using the updated EML file, not the original. Also add the SM to the shared map so that the indexing process can consult SM.accessPolicy when indexing annotations that assert things about those test documents.
ignore the metacat/solr comparator tests - they are one-offs.
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.
Localized the file which doesn't have the bean for dataUrl.
Remove the reference to the bean eml.fileID.
Remove the bean named eml.fileID which used the ResolveSolrField class.
calculate geohash_3 to three places (typo)
use NSEW for the bounding box geohash calculation from EML - all versions
Add beans to support geohashes
handle null Boolean in SM.archived field
use Matthew Jones for test creator since he has an ORCID in their staging environment.
augment annotation indexing test/sample to include orcid annotation. https://projects.ecoinformatics.org/ecoinfo/issues/6267https://projects.ecoinformatics.org/ecoinfo/issues/6423
include characteristic_sm field with SPARQL query
switch to index standard since it is more likely we will be able to determine this from our existing EML attribute information. https://projects.ecoinformatics.org/ecoinfo/issues/6253
Do a more thorough check that the characteristic annotation was successfully indexed as expected (semtools)
switch to the OpenAnnotation (OA) model for annotating datapackages with measurements/characteristics (semtools)
test that obsoleted objects remain indexed, but are marked as obsoleted. https://projects.ecoinformatics.org/ecoinfo/issues/6424
use rangeOfDates | singleDateTime to populate the beginDate and endDate index fields. https://projects.ecoinformatics.org/ecoinfo/issues/6285
include ID field as a minimum for indexing additional fields.
correctly include stacktrace for error debugging.
return null if there is no existing SolrDoc for the given pid.
index singleDateTime value into both begin and end date fields in solr. https://projects.ecoinformatics.org/ecoinfo/issues/6285
uncomment the original tests now that the "field" test is working.
check for existing index document before trying to use existing fields.
allow indexing of RDF documents - provide a sparql query that will return values for the field name. Using measurement_sm initially (a dynamic multivalued solr field). https://projects.ecoinformatics.org/ecoinfo/issues/6253
check for existing documents - don't assume it exists.
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
Renamed the test class.
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.
Use the setting from the metacat-common component.
Use the d1_cn_index_processor 1.2.0 version.
Remove those files. They will be get from the d1_cn_index_processor 1.2.0 jar.
combine the index code for failed ids and other ids.
Clean up the code.
The IndexGenerator will index the obsoleted data objects as well.
Remove the obsoletes chain from the update method in the SolrIndex class.
When an object is archvied, the solr index will not be removed.
merge from 2.2 branch: remove the index queue item when it is being processed. https://projects.ecoinformatics.org/ecoinfo/issues/6117
Add a patch for d1_cn_index_processor 1.1.2 version. So it can index taxon information. Those files will overwrite the ones in the d1_cn_index_process-1.1.2.jar.
Refer to metacat.war deployments since those are now the default. https://projects.ecoinformatics.org/ecoinfo/issues/6082
remove any index event errors if the pid has successfully been reindexed. https://projects.ecoinformatics.org/ecoinfo/issues/6089
Change the parameters order of the constructor. We maybe reuse some code from d1_cn_processor.
Remove the solr-home to the metacat-common.
Remove the file and it will got from the D1.
Modified the documentation.
Add a junit test to test resourcemap subprocessor.
Use the ResourceMapException when a component of a resource map isn't found in the solr index.
Add a ResourceMapException.
Add the property of dataone.hazelcast.location.clientconfig.
Make the method getSolrindex to be public.
change the configuration path.
Change the configuration path according to the change of the class.
Use the class path configuration of spring to replace the file configuration. We can reuse the application context files in the d1_cn_index_processor jar.
Remove the application context files (except the resource map one). It will use the ones in the d1_cn_index_processor.
Add a new property for the log class name.
Add a constructor.
Remove the constructor.
fixed a bug that the setup method deleted a result file.
Add a method to count how many documents in a specified solr server.
Remove a logFile method.
use the v1.1.x branch ResourceMap class for metacat-index
The exceptions will be caught during the looping of deleting the solr index.
Remove the code to write some debug information into a temporary file.
Use the ResourceMapFactory rather than the ResourceMap constructor to build a resource map.
Write the ids from metacat into a temporary file.
Move a file to the temp dir.
Add a method to write ids which will be indexed into a file.
Fixed a bug that the missed id is not writtent to the file.
Add a class to compare ids in the solr and metacat.
Besides the getArchvied() method, the getObsoletedBy method was added to determine if the object is archvied or not.