GroupedPayloadSpanQuery : Différence entre versions
De JDONREF Wiki
(Page créée avec « Ensure tokens with same payload values are grouped together. For example, the document : { "fullName": "BOULEVARD|1 DE|1 PARIS|1 L|2 HOPITAL|2" } will not match the re... ») |
|||
| Ligne 3 : | Ligne 3 : | ||
For example, the document : |
For example, the document : |
||
{ "fullName": "BOULEVARD|1 DE|1 PARIS|1 L|2 HOPITAL|2" } |
{ "fullName": "BOULEVARD|1 DE|1 PARIS|1 L|2 HOPITAL|2" } |
||
| + | |||
| + | indexed with a mapping like : |
||
| + | |||
| + | "fullName" : {"type": "string", "term_vector" : "with_positions_offsets_payloads", "index_analyzer":"myAnalyzer"} |
||
| + | |||
| + | and settings like : |
||
| + | |||
| + | { |
||
| + | "index" : { |
||
| + | "analysis" : { |
||
| + | "analyzer": { |
||
| + | "myAnalyzer" : { |
||
| + | "type" : "custom", |
||
| + | "tokenizer" : "whitespace", |
||
| + | "filter" : ["delimited_payload_filter", "lowercase"] |
||
| + | }, |
||
| + | "filter" : { |
||
| + | "delimited_payload_filter" : { |
||
| + | "type": "delimited_payload_filter", |
||
| + | "delimiter" : "|", |
||
| + | "encoding" : "int" |
||
| + | } |
||
| + | } |
||
| + | } |
||
will not match the request : |
will not match the request : |
||
| − | curl -XPOST 'http://localhost:9200/_search' -d '{ |
+ | curl -XPOST 'http://localhost:9200/_search' -d '{ |
| − | "query": { |
+ | "query": { |
"span_groupedpayload" : { |
"span_groupedpayload" : { |
||
"clauses" : [ |
"clauses" : [ |
||
| − | { "fullName" : "BOULEVARD"} , |
+ | { "span_multipayloadterm" : { "fullName" : "BOULEVARD"}} , |
| − | { "fullName" : "HOPITAL"} , |
+ | { "span_multipayloadterm" :{ "fullName" : "HOPITAL"}} , |
| − | { "fullName" : "PARIS"} |
+ | { "span_multipayloadterm" :{ "fullName" : "PARIS"}} |
] |
] |
||
| − | } |
+ | } |
| − | }' |
+ | }' |
because token HOPITAL break the group of payload values from BOULEVARD and PARIS. |
because token HOPITAL break the group of payload values from BOULEVARD and PARIS. |
||
| + | |||
| + | the clauses element must be a list of one or more span_multipayloadterm type queries. |
||
Version du 28 septembre 2014 à 22:16
Ensure tokens with same payload values are grouped together.
For example, the document :
{ "fullName": "BOULEVARD|1 DE|1 PARIS|1 L|2 HOPITAL|2" }
indexed with a mapping like :
"fullName" : {"type": "string", "term_vector" : "with_positions_offsets_payloads", "index_analyzer":"myAnalyzer"}
and settings like :
{
"index" : {
"analysis" : {
"analyzer": {
"myAnalyzer" : {
"type" : "custom",
"tokenizer" : "whitespace",
"filter" : ["delimited_payload_filter", "lowercase"]
},
"filter" : {
"delimited_payload_filter" : {
"type": "delimited_payload_filter",
"delimiter" : "|",
"encoding" : "int"
}
}
}
will not match the request :
curl -XPOST 'http://localhost:9200/_search' -d '{ "query": { "span_groupedpayload" : { "clauses" : [ { "span_multipayloadterm" : { "fullName" : "BOULEVARD"}} , { "span_multipayloadterm" :{ "fullName" : "HOPITAL"}} , { "span_multipayloadterm" :{ "fullName" : "PARIS"}} ] } }'
because token HOPITAL break the group of payload values from BOULEVARD and PARIS.
the clauses element must be a list of one or more span_multipayloadterm type queries.
