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... ») |
|||
(Une révision intermédiaire par le même utilisateur non affichée) | |||
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 actuelle en date du 1 octobre 2014 à 01:34
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.