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 bib­li­o­graph­ic data of doc­u­ments in the Patent Store, we have pro­vid­ed an elas­tic­search 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 inter­face pro­vides direct access to the func­tion­al­i­ty of elas­tic­search. This means that queries must be exe­cut­ed using the query form and syn­tax that elas­tic search sup­ports.
To con­vert queries from the lega­cy DEPAROM syn­tax to elas­tic search, use the DEPAROM Query Trans­la­tor Ser­vice (DQT).

Information Required

To use this ser­vice no fur­ther infor­ma­tion is required, just the query you intend to exe­cute.

Using Queries

Elas­tic­search search-api sup­ports 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. Gen­er­al­ly speak­ing, the fields in the elas­tic­search deparom index are named after the cor­re­spond­ing fields in DEPAROM. See the DEPAROM doc­u­men­ta­tion for more details.

 

Field NameDescrip­tionData TypeCom­ments
RN representative/agent text, arrayList of names with address infor­ma­tion. Non-struc­tured.
PCPub­lish­ing Coun­try key­wordThe coun­try code of the pub­lish­ing author­i­ty.
NPPri­or­i­ty Num­bers key­wordList of appli­ca­tion num­bers of pri­or­i­ty pub­li­ca­tions
PDPri­or­i­ty Date dateList of pri­or­i­ty dates
PAPatent Appli­cant text, array List of names with address infor­ma­tion. Non-struc­tured.
NCNation­al Clas­si­fi­ca­tion textList of US nation­al class­es. US patents only.
KIkind code (pub­li­ca­tion) key­wordThe doc­u­ment kind code, such as A1, B1, etc.
ICIPC Clas­si­fi­ca­tion key­word, array
This fields con­tains all clas­si­fi­ca­tions, aux­il­iary and main.
ICAIPC Aux­il­iary Clas­si­fi­ca­tion key­word, array List of aux­il­iary clas­si­fi­ca­tions
MCipc (main class — first class) text, array List of inven­tor names with address infor­ma­tion. Non-struc­tured.
GTGer­man Title text
FTFrench Title text
ETEng­lish Title text
DEDoc­u­ment Num­ber key­wordNum­ber the doc­u­ment was pub­lished under
DSDes­ig­nat­ed States key­word, array List of 2 let­ter coun­try codes
DPDate of Pub­li­ca­tion dateDate doc­u­ment was pub­lished
KORcor­rec­tion info key­wordIn case of cor­rec­tions a code indi­cat­ing rea­son for cor­rec­tion. Is depen­dant on pub­lish­ing coun­try.
ANAppli­ca­tion Num­ber textFor­mat depends on pub­lish­ing coun­try, but gen­er­al­ly 2 let­ter coun­try code plus num­ber, e.g. DE102014017626
ADAppli­ca­tion Date dateDate of appli­ca­tion
ABAbstracttextPatent abstract from title page

REST API

The api exposed con­nects direct­ly to elas­tic­search. The api is described in their doc­u­men­ta­tion. Here just a few notes.

General Error Responses

The most impor­tant error codes are list­ed here. See the elas­tic­search web­page for more details. Oth­er respons­es are list­ed in the table below.
Elas­tic­search returns a detailed error mes­sage in the response body in JSON for­mat.

HTTP CodeRea­sonCom­ments
500 Inter­nal Serv­er ErrorThis error code indi­cates that some­thing went wrong dur­ing the request. This can also mean the query string was mal­formed! Check the mes­sage text returned.
400Bad Request Some­thing is wrong with the query string or oth­er parts of the request.

Service Endpoints

ActionVerbPathBodyResponseCom­ment
BASE urlhttps://api.depa.tech
URI search GET/es/deparom/_search?q=…
200 OK
Query spec­i­fied in URL. See URI Search, below.
Request Body Search GET/es/deparom/_search Query in JSON for­mat 200 OK
Query spec­i­fied in POST body. See Request Body Search, below.

Search & Queries

URI Search

In this form of search, the query is append­ed to the URL as a query string. This is the most sim­ple form of search­ing but also the most lim­it­ed.

Query
The query is defined as fol­lows:
?q=fieldname:value
Exam­ple:
https://api.depa.tech/es/deparom/_search?q=PC:DE
See the elas­tic­search doc­u­men­ta­tion for infor­ma­tion on using more advanced options such as AND / OR oper­a­tions.

Result
Below is an exam­ple response when search­ing the elas­tic search index. The impor­tant parts are found under hits.
The field total tells us the total num­ber of doc­u­ments found. The field max_score gives an indi­ca­tion of how rel­e­vant the results are.
The sec­ond hits field lists each doc­u­ment found. Each result con­tains a field called source con­tain­ing the data fields of each doc­u­ment found. The field id can be used to retrieve fur­ther doc­u­ment arti­facts (such as the PDF) from the Con­tent Deliv­ery Ser­vice (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 search­ing using this method, many more options are avail­able.
The query is a com­plex JSON object, below is a sim­ple exam­ple: a search for the appli­cant ‘Robert Bosch’.
The out­er field query defines where the actu­al 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 exam­ples can be found on the elas­tic­search web­site.

Query Example

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

Combining Search with Other Services

As stat­ed above, it’s pos­si­ble to com­bine the search ser­vice with oth­er Depa.Tech ser­vices, such as DQT and CDS.

Using Queries from DQT

The DEPAROM Query Trans­la­tor (DQT) can used to gen­er­ate elas­tic­ssearch queries from DEPAROM queries.
The query that is returned from DQT must be wrapped so that it can be used with elas­tic search.
Our exam­ple query in DEPAROM syn­tax would be: PA=“Robert Koch”. Send­ing this to DQT cre­ates the fol­low­ing JSON snip­pet:

DQT Example


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


		

This is only a par­tial JSON query, before send­ing it to elas­tic­search 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 Con­tent Deliv­ery Ser­vice (CDS) pro­vides access to doc­u­ment arti­facts, such as the PDF file or XML data. To access CDS, a doc­u­ment ID is need­ed. This ID is returned from elas­tic­search. If all that is required is the PDF, for exam­ple, the query can be set to actu­al­ly return just the ID. This speeds queries up, espe­cial­ly if large result sets are expect­ed. 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
            },
            {
               ...
            }
        ]
    }
}