Search

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.

Method

GET

Method

GET

Path








/search/schema

Returns the entire schema

/search/schema/fields

Returns information about all defined fields or a specific named field

/search/schema/dynamicfields

Returns information about all dynamic field rules or a specific named dynamic rule

/search/schema/fieldtypes

Returns information about all field types or a specific field type

/search/schema/copyfields

Returns information about copy fields

/search/schema/name

Returns the schema name

/search/schema/version

Returns the schema version

/search/schema/uniquekey

Returns the defined uniqueKey

/search/schema/similarity

Returns the global similarity definition

/search/schema/solrqueryparser/defaultoperator

Returns the default operator

Parameter

 

Values

Description

@fl

String: ex. ttl

Field name or comma-separated list of field names

@showDefaults

Boolean: ex. 1

Include in the response all default property values from the associated field type

@includeDynamic

Boolean: ex. 0

If 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

Method(s)

GET | POST

Path

/search/query

 

Common Query Parameters:

Parameter

Value

Description

@q

String: ex. solar

Any syntactically correct search string

@qt

String: ex. attachments

Optional parameter to specify attachment search

@fl

String: ex. ucid,ttl

Comma-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".

@rows

Integer: ex. 25

Positive value indicating maximum number of documents to return. Default value is 10.

@start

Integer: 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|0

Return attachment list per ucid when available

@family.simple (v2.5, JSON only)

Boolean: ex. 1|0

Return the simple family per ucid when available

@family.extended (v2.5, JSON only)

Boolean: ex. 1|0

Return the extended family per ucid when available

@ls (v3.4, JSON only)

Boolean: ex. 1|0

Return all legal status information per ucid when available

@ls.country (v3.4 JSON only)

String: ex. US

Return 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|0

Return all backward citations per ucid when available

@citations.forward (v3.7 JSON only)

Boolean ex. 1|0

Return 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.