Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In this first of a series of blogs about SOLR Solr result sets I'd like to talk about returned fields, both static and dynamic.

Stored Fields

Any field that is stored in SOLR Solr can be returned in the result set. The following table shows all available stored fields:

name
Name
desc
Description
type
Type
indexed
Indexed
timestamplast modification stamptdate
ab_*all abstractsmixed: alexandria_text, alexandria_asian_texttrue
ucidunique character identifierstring
adfiling datetinttrue
loadidmeta load identifiertint
anapplication number (tokenized)alexandria_tokentrue
nclmsnumber of claimstint
anorigoriginal, patent office format application numberalexandria_tokentrue
nindepclmsnumber of independent claimstint
anseriesUS application series codealexandria_stringtrue
fam
anucid
family
standardized filing identifierstringtrue
pnpatent number (tokenized)
eclaECLA classificationalexandria_
token
stringtrue
pd
fam
publication date
family identifier
tint
stringtrue
anapplication number (tokenized)
ftermF-Termsalexandria_
token
stringtrue
anseriesUS application series codealexandria_
icl,cpcl,uscl,ficlclassifications suitable for displaystringfalse
ifi_name_current_idcurrent assignee identifierstringtrue
anorigoriginal, patent office format application number
ifi_name_original_idoriginal assignee identifierstringtrue
ifi_paIFI assigneesalexandria_tokentrue
invinventorsalexandria_tokentrue
adfiling date
loadidmeta load identifiertinttrue
nclmsnumber of claimstinttrue
pri
nindepclms
priority filing number (tokenized)alexandria_string
number of independent claimstinttrue
priorigoriginal, patent office format priority number
paapplicants/assignees (all formats)alexandria_
string
tokentrue
prid
pd
earliest priority filing
publication datetinttrue
icl,cpcl,uscl,ficlclassifications suitable for displaystringfalseinvInventors
pnpatent number (tokenized)alexandria_tokentrue
paApplicants/Assignees (all formats
pripriority filing number (tokenized)alexandria_
token
stringtrue
pridearliest priority filing datetinttrue
ifi_paIFI Assignees
priorigoriginal, patent office format priority numberalexandria_
tokenmixed: alexandria_text, alexandria_asian_text
stringtrue
ttl_*All titles
timestamplast modification stamptdatetrue
ab
ttl_*
All abstracts
all titlesmixed: alexandria_text, alexandria_asian_texttrue

 

...

ucidunique character identifierstringtrue


The shorthand to return all static fields is the asterisk fl=*

Code Block
languagetext
/search/query?q=ucid:US-20160054444-A1&fl=*&rows=1

As with all examples, we discuss results in JSON format.

Code Block
languagetext
         "docs" : [
            {
               "timestamp" : "2016-02-27T08:29:31.936Z",
               "ucid" : "US-20160054444-A1",
               "loadid" : 229946,
               "nclms" : 19,
               "nindepclms" : 2,
               "fam" : "-1",
               "pn" : "US-20160054444-A1 US20160054444A1",
               "pd" : 20160225,
               "an" : "US-201514833357-A"
               "anseries" : "14",
               "anorig" : "US-14833357",
               "ad" : 20150824,
               "pri" : [
                  "FR-1457951"
               ],
               "prid" : 20140825,
               "priorig" : [
                  "FR-1457951"
               ],
               "cpcl" : [
                  "G01S  15/588       20130101 LI20160225BHUS        ",
                  "G01S  15/60        20130101 FI20160225BHUS        "
               ],
               "icl" : [
                  "G01S  15/58        20060101ALI20160225BHUS        ",
                  "G01S  15/60        20060101AFI20160225BHUS        "
               ],
               "ifi_pa" : [
                  "ECA ROBOTICS",
                  "ECA ROBOTICS"
               ],
               "inv" : [
                  "Pinto, Marc"
               ],
               "pa" : [
                  "ECA ROBOTICS",
                  "ECA ROBOTICS"
               ],
               "ttl_en" : [
                  "METHOD AND SONAR DEVICE FOR DETERMINING THE SPEED OF MOVEMENT OF A NAVAL VEHICLE IN RELATION TO THE SEA BED"
               ],
               "ab_en" : [
                  "<abstract mxw-id=\"PA168904151\" lang=\"EN\" load-source=\"patent-office\">\n    <p id=\"p-0001\" num=\"0000\">Sonar intended to be carried by a naval vehicle including at least one element for transmitting an acoustic signal, at least one element for receiving the acoustic signal transmitted and reflected on the sea bed and at least two phase centres (PC<sub>1</sub>, PC<sub>2</sub>) that are disposed along a first and a second axis (v<sub>1</sub>, v<sub>2</sub>), respectively, forming an interferometric antenna. The sonar includes elements for determining the speed of movement of the vehicle as a function of the computed value of the relative trim angle (β) formed between a straight line (d<sub>1</sub>) that is perpendicular to the axes (v<sub>1</sub>, v<sub>2</sub>) of the phase centres and a straight line (d<sub>2</sub>) that is perpendicular to the sea bed (F) and of the value determined for the angle of sight.</p>\n  </abstract>"
               ],
            }
         ],

Some things to notice: Multi-valued fields are returned as JSON arrays. Also, as invpa and ifi_pa are copyFields containing multiple values, duplicate entries may appear.

Dynamic Fields

Dynamic fields are fields that are generated either internally, like the relevance score or fields that can be generated by computing values using function queries. Dynamic fields must be listed explicitly in the fl parameter, e.g., fl=score. Below, we request the static ucid field together with the relevance score for 5 results.

Code Block
languagetext
/search/query?q=ab_en:sonar&fl=ucid,score&rows=5
Code Block
languagetext
         "docs" : [
            {
               "ucid" : "US-20160054444-A1",
               "score" : 1.1746656
            },
            {
               "ucid" : "US-9268020-B2",
               "score" : 2.8773313
            },
            {
               "ucid" : "US-20160047906-A1",
               "score" : 1.1735018
            },
            {
               "ucid" : "US-20160049143-A1",
               "score" : 0.99574935
            },
            {
               "ucid" : "US-20160047891-A1",
               "score" : 1.1675186
            }
         ],

Another type of dynamic field makes use of function queries. A simple, yet contrived, example would be to return the number of dependent claims. Claims CLAIMS Direct stores the total number of claims claims in nclms as well as the number of independent claims claims in nindepclms, both as tint. Simple subtraction yields the desired result.

Code Block
languagetext
/search/query?q=ab_en:sonar&fl=ucid,nclms,nindepclms,sub(nclms,nindepclms)&rows=2
Code Block
languagetext
         "docs" : [
            {
               "ucid" : "US-20160054444-A1",
               "nclms" : 19,
               "nindepclms" : 2,
               "sub(nclms,nindepclms)" : 17
            },
            {
               "ucid" : "US-9268020-B2",
               "nclms" : 74,
               "nindepclms" : 3,
               "sub(nclms,nindepclms)" : 71
            }
         ],

Field Aliases

Field aliasing allows individual fields in the result set to be renamed. This functionality is particularly useful to give meaningful names to pseudo fields created by function queries as in the example above. Any field can be renamed using aliases. The syntax is: alias-field-name:original-field-name

Info
titleNote

ucid is the only exception. When trying to alias the ucid, an HTTP 500 will be returned.

Code Block
languagetext
/search/query?q=ab_en:sonar&fl=ucid,total:nclms,independent:nindepclms,dependent:sub(nclms,nindepclms)&rows=1
Code Block
languagetext
         "docs" : [
            {
               "ucid" : "US-20160054444-A1",
               "total" : 19,
               "independent" : 2,
               "dependent" : 17
            }
         ],