You are here:

depa.index

This REST service allows users to search for patent documents in Patent Store. The service is based on Elasticsearch.

General

To search in the bibliographic data of documents in the Patent Store, we have provided an elasticsearch index called deparom. This index has been designed to behave in much the same way as the indices used by the DEPAROM client.
The REST interface provides direct access to the functionality of elasticsearch. This means that queries must be executed using the query form and syntax that elastic search supports.
To convert queries from the legacy DEPAROM syntax to elastic search, use the DEPAROM Query Translator Service (DQT).

Information Required

To use this service no further information is required, just the query you intend to execute.

Using Queries

Elasticsearch search-api supports URI search as well as request body search, which one you use depends on your needs.

Field Mapping

These fields can be used in queries and returned in results. Generally speaking, the fields in the elasticsearch deparom index are named after the corresponding fields in DEPAROM. See the DEPAROM documentation for more details.

 

Field NameDescriptionData TypeComments
RN representative/agent text, arrayList of names with address information. Non-structured.
PCPublishing Country keywordThe country code of the publishing authority.
NPPriority Numbers keywordList of application numbers of priority publications
PDPriority Date dateList of priority dates
PAPatent Applicant text, array List of names with address information. Non-structured.
NCNational Classification textList of US national classes. US patents only.
KIkind code (publication) keywordThe document kind code, such as A1, B1, etc.
ICIPC Classification keyword, array
This fields contains all classifications, auxiliary and main.
ICAIPC Auxiliary Classification keyword, array List of auxiliary classifications
MCipc (main class - first class) text, array List of inventor names with address information. Non-structured.
GTGerman Title text
FTFrench Title text
ETEnglish Title text
DEDocument Number keywordNumber the document was published under
DSDesignated States keyword, array List of 2 letter country codes
DPDate of Publication dateDate document was published
KORcorrection info keywordIn case of corrections a code indicating reason for correction. Is dependant on publishing country.
ANApplication Number textFormat depends on publishing country, but generally 2 letter country code plus number, e.g. DE102014017626
ADApplication Date dateDate of application
ABAbstracttextPatent abstract from title page

REST API

The api exposed connects directly to elasticsearch. The api is described in their documentation. Here just a few notes.

General Error Responses

The most important error codes are listed here. See the elasticsearch webpage for more details. Other responses are listed in the table below.
Elasticsearch returns a detailed error message in the response body in JSON format.

HTTP CodeReasonComments
500 Internal Server ErrorThis error code indicates that something went wrong during the request. This can also mean the query string was malformed! Check the message text returned.
400Bad Request Something is wrong with the query string or other parts of the request.

Service Endpoints

ActionVerbPathBodyResponseComment
URI search GET/es/deparom/_search?q=...
200 OK
Query specified in URL. See URI Search, below.
Request Body Search GET/es/deparom/_search Query in JSON format 200 OK
Query specified in POST body. See Request Body Search, below.

Search & Queries

URI Search

In this form of search, the query is appended to the URL as a query string. This is the most simple form of searching but also the most limited.

Query
The query is defined as follows:
?q=fieldname:value
Example:
https://depatech.mtc.berlin/es/deparom/_search?q=PC:DE
See the elasticsearch documentation for information on using more advanced options such as AND / OR operations.

Result
Below is an example response when searching the elastic search index. The important parts are found under hits.
The field total tells us the total number of documents found. The field max_score gives an indication of how relevant the results are.
The second hits field lists each document found. Each result contains a field called source containing the data fields of each document found. The field id can be used to retrieve further document artifacts (such as the PDF) from the Content Delivery Service (CDS).

Elasticsearch Search Result


{
    took: 8,
    timed_out: false,
    _shards: {
        total: 5,
        successful: 5,
        failed: 0
    },
    hits: {
        total: 409257,
        max_score: 1.7483456,
        hits: [{
            _index: "deparom",
            _type: "DEP",
            _id: "DE.000102013007672.A1",
            _score: 1.7483456,
            _source: {
                GT: "Verfahren und Vorrichtung zur Waferherstellung mit vordefinierter Bruchauslösestelle",
                AD: "20130503",
                DE: "102013007672",
                AN: "DE102013007672",
                AB: "<p num="0000">Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Herstellung von Festkörperschichten...",
                IN: ["Lichtensteiger, Lukas, Zürich, CH",
                "Drescher, Wolfram, 01109, Dresden, DE"],
                IC: ["H01L",
                "H01L0021",
                "H01L0021304"],
                DP: "20141106",
                MC: ["H01L",
                "H01L0021",
                "H01L0021304"],
                KI: "A1",
                PC: "DE",
                PA: "Siltectra GmbH, 01099, Dresden, DE",
                RN: "Kehl, Ascherl, Liebhoff & Ettmayr Patentanwälte Partnerschaft, 80538, München, DE"
            }
        },
        {
            ...
        }]
    }
}


		

Request Body Search

When searching using this method, many more options are available.
The query is a complex JSON object, below is a simple example: a search for the applicant ‚Robert Bosch‘.
The outer field query defines where the actual query goes. In this case the search is on the field PA, the query is „Robert Bosch“. Note the use of quotes, which must be escaped using ‚\‘ in JSON. More search examples can be found on the elasticsearch website.

Query Example

   "query": {
      "query_string": {
         "fields": [
            "PA"
          ],
          "query": "\"Robert Bosch\""
      }
   }
}

Combining Search with Other Services

As stated above, it’s possible to combine the search service with other Depa.Tech services, such as DQT and CDS.

Using Queries from DQT

The DEPAROM Query Translator (DQT) can used to generate elasticssearch queries from DEPAROM queries.
The query that is returned from DQT must be wrapped so that it can be used with elastic search.
Our example query in DEPAROM syntax would be: PA=“Robert Koch“. Sending this to DQT creates the following JSON snippet:

DQT Example


{
    "query_string": {
        "fields": [
            "PA"
        ],
        "query": "\"Robert Koch\""
    }
}


		

This is only a partial JSON query, before sending it to elasticsearch it must be wrapped with { "query: ... } for it to work:

Wrapped Query

   "query": {
      "query_string": {
         "fields": [
            "PA"
          ],
          "query": "\"Robert Bosch\""
      }
   }
}

Retrieving Artifacts from CDS

The Content Delivery Service (CDS) provides access to document artifacts, such as the PDF file or XML data. To access CDS, a document ID is needed. This ID is returned from elasticsearch. If all that is required is the PDF, for example, the query can be set to actually return just the ID. This speeds queries up, especially if large result sets are expected. To do this, set stored_fields to [], which means return no fields:

Query to Return IDs Only

{
   "query": {
      "query_string": {
         "fields": [
            "PA"
          ],
          "query": "\"Robert Bosch\""
      }
   },
   "stored_fields":[]
}

The result:

Response With IDs Only

{
    "took": 4,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "failed": 0
    },
    "hits": {
        "total": 32318,
        "max_score": 10.117258,
        "hits": [
            {
                "_index": "deparom",
                "_type": "DEP",
                "_id": "JP.000002016079978.A",
                "_score": 10.117258,
                "_timestamp": 1476393965592
            },
            {
                "_index": "deparom",
                "_type": "DEP",
                "_id": "JP.000002016081534.A",
                "_score": 10.117258,
                "_timestamp": 1476393968574
            },
            {
               ...
            }
        ]
    }
}