fields: id,replica_verified,replica_mn,checksum
Query syntax guide:
http://lucene.apache.org/java/2_4_0/queryparsersyntax.html
http://wiki.apache.org/solr/SolrQuerySyntax
mod_date:[* TO 20030101]
http://cn-dev.dataone.org/solr/admin/
Java usage example:
SolrServer server = getSolrServer();
SolrQuery solrQuery = new SolrQuery().
setQuery("ipod").
setFacet(true).
setFacetMinCount(1).
setFacetLimit(8).
addFacetField("category").
addFacetField("inStock");
QueryResponse rsp = server.query(solrQuery);
SolrDocumentList docs = rsp.getResults();
Methods to implement:
======================
1). SolrDocumentList search(SolrQuery query)
2). SolrDocumentList search(String query, Integer start, Integer count, String[] fieldList)
query e.g. "*:*", "repl_verified: date range"
fieldList e.g. "id,beginDate,endDate,title"
e.g. "*"
3). getSearchFields();
LukeResponse = LukeRequest.process(SolrServer server)
Name = name of field
Type = type of field
Unique = number of unique terms, "distinct" element in Luke response
Records = number of documents that this field appear in (to be verified)
convenience methods:
4). SolrDocument getSolrDocument(String pid)
5). SolrDocumentList getDocumentsModifed(Date timestamp, boolean before, String field)
//before = true > return documents older than timestamp
//if field is null, the use datemodified
Settings.getConfiguration().getProperty("cn.replication.shortlist.age")
Settings.getConfiguration().getProperty("cn.replication.shortlist.numrows")
cn.replication.shortlist.age=[* TO NOW/DAY-2MONTHS]
http://lucene.apache.org/solr/api/org/apache/solr/util/DateMathParser.html
- pubdate:[NOW-1YEAR/DAY TO NOW/DAY+1DAY]
SolrDocumentList getUnverifiedChecksums(String solrDateRange)
ObjectList
ObjectInfo
Identifier
Checksum
ObjectFormatID
SolrQuery solrQuery = new SolrQuery().
setQuery("replica_verified:[* TO NOW/DAY-60DAYS]").
addField("id").
addField("checksum");
OR
setFacet(true).
addFacetField("id").
addFacetField("checksum");
SolrDocument.getField("id"); ?
dataone solr impl. is 3.4
SOLR Base URL = http://cn-dev.dataone.org/solr
http://cn-dev.dataone.org/solr/select?q=....
Python implementation:
def search(self, query, fields="pid,origin_mn,datemodified,size,objectformat,title",
start=0, count=100):
def getSearchFields(self):
returns a list of ('Name','Type','Unique','Records')