Mtas can retrieve list of hits for Mtas queries within the (filtered) set of documents. To get this information, in Solr requests, besides the parameter to enable the Mtas query component, the following parameter should be provided.
Parameter | Value | Obligatory |
---|---|---|
mtas.list | true | yes |
List results on multiple spans can be produced within the same request. To distinguish them, a unique identifier has to be provided for each of the required lists.
Parameter | Value | Info | Obligatory |
---|---|---|---|
mtas.list.<identifier>.key | <string> | key used in response | no |
mtas.list.<identifier>.field | <string> | Mtas field | yes |
mtas.list.<identifier>.query.type | <string> | query language: cql | yes |
mtas.list.<identifier>.query.value | <string> | query: cql | yes |
mtas.list.<identifier>.query.prefix | <string> | default prefix | no |
mtas.list.<identifier>.query.ignore | <string> | ignore query: cql | no |
mtas.list.<identifier>.query.maximumIgnoreLength | <integer> | maximum number of succeeding occurrences to ignore | no |
mtas.list.<identifier>.prefix | <string> | comma separated list of prefixes | no |
mtas.list.<identifier>.number | <double> | maximum number of items in list | no |
mtas.list.<identifier>.start | <double> | offset for selection of items in list | no |
mtas.list.<identifier>.left | <double> | number of positions left of hit | no |
mtas.list.<identifier>.right | <double> | number of positions right of hit | no |
mtas.list.<identifier>.output | <string> | “token” or “hit” | no |
mtas.list.<identifier>.fields | <string> | comma separated list of fields for which the value(s) have to be included for each item in the output | no |
The query may contain one or more variables, and the value(s) of these variables have to be defined
Parameter | Value | Info | Obligatory |
---|---|---|---|
mtas.list.<identifier>.query.variable<identifier variable>.name | <string> | name of variable | yes |
mtas.list.<identifier>.query.variable<identifier variable>.value | <string> | comma separated list of values | yes |
Example
List with output type token and prefixes t, pos and s for adjectives followed by a noun
CQL
[pos="ADJ"][pos="N"]
Request and response
fq=%7B%21mtas_cql+field%3D%22text%22+query%3D%22%5Bpos%3D%5C%22ADJ%5C%22%5D%5Bpos%3D%5C%22N%5C%22%5D%22+++%7D&q=%2A%3A%2A&mtas=true&mtas.list=true&mtas.list.0.field=text&mtas.list.0.query.type=cql&mtas.list.0.query.value=%5Bpos%3D%22ADJ%22%5D%5Bpos%3D%22N%22%5D&mtas.list.0.key=adjective%2Bnoun&mtas.list.0.prefix=t%2Cpos%2Cs&mtas.list.0.output=token&mtas.list.0.number=2&mtas.list.0.start=0&mtas.list.0.left=0&mtas.list.0.right=0&fl=%2A&rows=0&wt=json&indent=true
"mtas":{ "list":[{ "key":"adjective+noun", "number":2, "list":[{ "documentKey":"44e5620c-011c-11e4-b0ff-51bcbd7c379f", "documentHitPosition":0, "documentHitTotal":239, "documentMinPosition":0, "documentMaxPosition":6385, "startPosition":29, "endPosition":30, "tokens":[{ "mtasId":191, "prefix":"t", "value":"beknopte", "positionStart":29, "positionEnd":29, "parentMtasId":337}, { "mtasId":197, "prefix":"pos", "value":"ADJ", "positionStart":29, "positionEnd":29}, { "mtasId":199, "prefix":"t", "value":"levensschets", "positionStart":30, "positionEnd":30, "parentMtasId":337}, { "mtasId":204, "prefix":"pos", "value":"N", "positionStart":30, "positionEnd":30}, { "mtasId":337, "prefix":"s", "value":"", "positionStart":7, "positionEnd":49, "parentMtasId":1152}]}, { "documentKey":"44e5620c-011c-11e4-b0ff-51bcbd7c379f", "documentHitPosition":1, "documentHitTotal":239, "documentMinPosition":0, "documentMaxPosition":6385, "startPosition":56, "endPosition":57, "tokens":[{ "mtasId":380, "prefix":"t", "value":"gebied", "positionStart":57, "positionEnd":57, "parentMtasId":610}, { "mtasId":387, "prefix":"pos", "value":"N", "positionStart":57, "positionEnd":57}, { "mtasId":373, "prefix":"t", "value":"velerlei", "positionStart":56, "positionEnd":56, "parentMtasId":610}, { "mtasId":378, "prefix":"pos", "value":"ADJ", "positionStart":56, "positionEnd":56}, { "mtasId":610, "prefix":"s", "value":"", "positionStart":50, "positionEnd":90, "parentMtasId":1152}]}]}]}
Example
List with output type hit and prefixes t, pos and s for articles followed by an adjective and a noun
CQL
[pos="LID"][pos="ADJ"][pos="N"]
Request and response fq=%7B%21mtas_cql+field%3D%22text%22+query%3D%22%5Bpos%3D%5C%22LID%5C%22%5D%5Bpos%3D%5C%22ADJ%5C%22%5D%5Bpos%3D%5C%22N%5C%22%5D%22+++%7D&q=%2A%3A%2A&mtas=true&mtas.list=true&mtas.list.0.field=text&mtas.list.0.query.type=cql&mtas.list.0.query.value=%5Bpos%3D%22LID%22%5D%5Bpos%3D%22ADJ%22%5D%5Bpos%3D%22N%22%5D&mtas.list.0.key=article%2Badjective%2Bnoun&mtas.list.0.prefix=t%2Cpos%2Cs&mtas.list.0.output=hit&mtas.list.0.number=2&mtas.list.0.start=0&mtas.list.0.left=0&mtas.list.0.right=0&fl=%2A&rows=0&wt=json&indent=true
"mtas":{ "list":[{ "key":"article+adjective+noun", "number":2, "list":[{ "documentKey":"44e5620c-011c-11e4-b0ff-51bcbd7c379f", "documentHitPosition":0, "documentHitTotal":80, "documentMinPosition":0, "documentMaxPosition":6385, "startPosition":210, "endPosition":212, "hit":{ "210":[["t", "het"], ["pos", "LID"], ["s", null]], "211":[["t", "Middelbaar"], ["pos", "ADJ"], ["s", null]], "212":[["t", "Onderwijs"], ["pos", "N"], ["s", null]]}}, { "documentKey":"44e5620c-011c-11e4-b0ff-51bcbd7c379f", "documentHitPosition":1, "documentHitTotal":80, "documentMinPosition":0, "documentMaxPosition":6385, "startPosition":237, "endPosition":239, "hit":{ "237":[["t", "het"], ["pos", "LID"], ["s", null]], "238":[["t", "Middelbaar"], ["pos", "ADJ"], ["s", null]], "239":[["t", "Onderwijs"], ["pos", "N"], ["s", null]]}}]}]}
Example
List with output type token and prefixes t and s for sentences starting with an article, expanded two positions to the left and one position to the right
CQL
<s>[pos="LID"]
Request and response fq=%7B%21mtas_cql+field%3D%22text%22+query%3D%22%3Cs%3E%5Bpos%3D%5C%22LID%5C%22%5D%22+++%7D&q=%2A%3A%2A&mtas=true&mtas.list=true&mtas.list.0.field=text&mtas.list.0.query.type=cql&mtas.list.0.query.value=%3Cs%3E%5Bpos%3D%22LID%22%5D&mtas.list.0.key=sentence+starting+with+article&mtas.list.0.prefix=t%2Cs&mtas.list.0.output=token&mtas.list.0.number=2&mtas.list.0.start=0&mtas.list.0.left=2&mtas.list.0.right=1&fl=%2A&rows=0&wt=json&indent=true
"mtas":{ "list":[{ "key":"sentence starting with article", "number":2, "list":[{ "documentKey":"44e5620c-011c-11e4-b0ff-51bcbd7c379f", "documentHitPosition":0, "documentHitTotal":18, "documentMinPosition":0, "documentMaxPosition":6385, "startPosition":378, "endPosition":378, "tokens":[{ "mtasId":2534, "prefix":"t", "value":"leven", "positionStart":379, "positionEnd":379, "parentMtasId":2914}, { "mtasId":2517, "prefix":"t", "value":".", "positionStart":377, "positionEnd":377, "parentMtasId":2526}, { "mtasId":2527, "prefix":"t", "value":"Het", "positionStart":378, "positionEnd":378, "parentMtasId":2914}, { "mtasId":2914, "prefix":"s", "value":"", "positionStart":378, "positionEnd":433, "parentMtasId":2915}, { "mtasId":2512, "prefix":"t", "value":"Landbouwkundige", "positionStart":376, "positionEnd":376, "parentMtasId":2526}, { "mtasId":2526, "prefix":"s", "value":"", "positionStart":307, "positionEnd":377, "parentMtasId":2915}]}, { "documentKey":"44e5620c-011c-11e4-b0ff-51bcbd7c379f", "documentHitPosition":1, "documentHitTotal":18, "documentMinPosition":0, "documentMaxPosition":6385, "startPosition":878, "endPosition":878, "tokens":[{ "mtasId":5794, "prefix":"t", "value":"De", "positionStart":878, "positionEnd":878, "parentMtasId":5999}, { "mtasId":5801, "prefix":"t", "value":"eerzucht", "positionStart":879, "positionEnd":879, "parentMtasId":5999}, { "mtasId":5999, "prefix":"s", "value":"", "positionStart":878, "positionEnd":908, "parentMtasId":6305}, { "mtasId":5779, "prefix":"t", "value":"bewaarheid", "positionStart":876, "positionEnd":876, "parentMtasId":5792}, { "mtasId":5786, "prefix":"t", "value":".", "positionStart":877, "positionEnd":877, "parentMtasId":5792}, { "mtasId":5792, "prefix":"s", "value":"", "positionStart":857, "positionEnd":877, "parentMtasId":5793}]}]}]}
Lucene
To get a list of hits directly in Lucene, ComponentList together with the provided collect method can be used.