Search

The Search service is broken into the following sub-sections:

  • query: search the index and return user-specified fields 
  • schema: return the field and field type definitions of the Solr index


Note: The CLAIMS Direct Solr index does not store all text. This means that although the entire index is searchable, only certain fields are available for inclusion in a result set. For a list of retrievable fields, see the Quick Guide to Stored Solr Fields. You can also consult the schema where @stored="true", or use the schema method of the search service to inspect field attributes.

The CLAIMS Direct Index is created and maintained using Apache Solr (http://lucene.apache.org/solr/) and hence, based on a schema definition, all functionality exposed by Solr is available through this search web service, including the entire Apache Lucene query language, result set sorting, facet searching, grouping etc. Solr is an extremely versatile and robust search platform and it is advised to fully familiarize yourself with Solr and Lucene (http://lucene.apache.org/java/docs/index.html), upon which Solr is built, before attempting to use this service.

/search/schema

The schema method returns the Solr schema field definitions. This service, like the search service below, is built directly on top of the Solr Schema API and therefore exposes all read-only functionality available.


MethodGET
Path








/search/schemaReturns the entire schema
/search/schema/fieldsReturns information about all defined fields or a specific named field
/search/schema/dynamicfieldsReturns information about all dynamic field rules or a specific named dynamic rule
/search/schema/fieldtypesReturns information about all field types or a specific field type
/search/schema/copyfieldsReturns information about copy fields
/search/schema/nameReturns the schema name
/search/schema/versionReturns the schema version
/search/schema/uniquekeyReturns the defined uniqueKey
/search/schema/similarityReturns the global similarity definition
/search/schema/solrqueryparser/defaultoperatorReturns the default operator
Parameter
ValuesDescription
@flString: ex. ttlField name or comma-separated list of field names
@showDefaultsBoolean: ex. 1Include in the response all default property values from the associated field type
@includeDynamicBoolean: ex. 0If the fl param is specified, matching dynamic fields are included in the response and identified with the dynamicBase property; if the fl param is not specified, the includeDynamic parameter is ignored


Example:

wget -O- \
  --header 'x-user:x' \
  --header 'x-password:y' \
'https://cdws21.ificlaims.com/search/schema/fields?fl=ucid,ttl'


Response JSON

{
   "status" : "success"
   "time" : "0.041030",
   "content" : {
      "responseHeader" : {
         "status" : 0,
         "QTime" : 5
      },
      "fields" : [
         {
            "indexed" : true,
            "uniqueKey" : true,
            "name" : "ucid",
            "required" : true,
            "stored" : true,
            "type" : "string"
         },
         {
            "name" : "ttl",
            "indexed" : true,
            "type" : "alexandria_text",
            "stored" : false,
            "multiValued" : true
         }
      ]
   },
}


/search/query

This service is built directly on top of the Solr REST services and therefore, unless otherwise noted, accepts all parameters that Solr REST services accept. For a comprehensive treatment, please see Solr Query Parameters. Bulk downloads are not supported through shared services. Search is limited to 30K documents per batch because deep paging can place undue stress on the system.

Method(s)GET | POST
Path/search/query

Common Query Parameters:

ParameterValueDescription
@qString: ex. solarAny syntactically correct search string
@qtString: ex. attachmentsOptional parameter to specify attachment search
@flString: ex. ucid,ttlComma-separated list of fields to return. Default fields returned without an "fl" parameter include ucid, ttl_en, ab_en, and score. Any field explicitly used must have the attribute stored="true".
@rowsInteger: ex. 25Positive value indicating maximum number of documents to return. Default value is 10.
@startInteger: ex. 0

0-based offset into result set. This parameter as well as the @rows parameter above can be used for paging. Default value is 0.

Maximum @start value is 30000. Values above 30000 will be reset to zero. This limit is in place to prevent Solr "deep paging" which causes serious memory swapping on the Solr servers.

@attachments (v2.5, JSON only)Boolean: ex. 1|0Return attachment list per ucid when available
@family.simple (v2.5, JSON only)Boolean: ex. 1|0Return the simple family per ucid when available
@family.extended (v2.5, JSON only)Boolean: ex. 1|0Return the extended family per ucid when available
@ls (v3.4, JSON only)Boolean: ex. 1|0Return all legal status information per ucid when available
@ls.country (v3.4 JSON only)String: ex. USReturn legal status information per ucid published by a particular country. Currently supported: US (PAIR) and EP (Inpadoc)
@citations.backward (v3.7 JSON only)Boolean ex. 1|0Return all backward citations per ucid when available
@citations.forward (v3.7 JSON only)Boolean ex. 1|0Return all forward citations per ucid when available

For a thorough treatment, please see Query Syntax and Parsing.


Example:

wget -O- \
  --header 'x-user:x' \
  --header 'x-password:y' \
'https://cdws21.ificlaims.com/search/query?q=*:*&fl=ucid&rows=1'


Response JSON

{ "status" : "success",
   "time" : "0.853972"
   "content" : {
      "responseHeader" : {
         "status" : 0,
         "params" : {
            "qt" : "standard",
            "wt" : "json",
            "q" : "*:*",
            "rows" : "1",
            "timeAllowed" : "300000",
            "indent" : "true",
            "fl" : "ucid",
            "start" : "0"
         },
         "QTime" : 29,
         "pager" : {
            "lastPage" : 89565469,
            "firstPage" : 1,
            "totalEntries" : 89565469,
            "entriesOnThisPage" : 1,
            "currentPage" : 1,
            "entriesPerPage" : "1",
            "nextPage" : 2,
            "previousPage" : null
         }
      },
      "response" : {
         "maxScore" : 1,
         "start" : 0,
         "numFound" : 89565469,
         "docs" : [
            {
               "ucid" : "WO-2008080614-A1"
            }
         ]
}}}

Note: As of CDWS v2.4, a special HTTPS header Accept type of text/x-solr returns the raw Solr response. There is no paging block, nor response wrapper.