CopyPastor

Detecting plagiarism made easy.

Score: 0.8299498558044434; Reported for: String similarity Open both answers

Possible Plagiarism

Plagiarized on 2025-01-23
by Karthik Raju

Original Post

Original - Posted on 2017-09-14
by Björn



            
Present in both answers; Present only in the new answer; Present only in the old answer;

This solution seems to be doing the trick. I have combined `exists` and `terms` so that the term is applied only if it exists in the document. This way, despite having multiple indices, it automatically applies terms only to documents where fields exist.
Here is the query:
{ "query": { "bool": { "must": [ { "bool": { "minimum_should_match": 1, "should": [ { "multi_match": { "boost": 1, "fields": [ "media_values.title", "title", "vehicle_brand_name" ], "query": "<query_text>", "type": "bool_prefix" } } ] } }, { "bool": { "must": [ { "bool": { "minimum_should_match": 1, "should": [ { "bool": { "must_not": { "exists": { "field": "media_data.type.keyword" } } } }, { "bool": { "must": [ { "exists": { "field": "media_data.type.keyword" } }, { "terms": { "media_data.type.keyword": [ "Video" ] } } ] } } ] } }, { "bool": { "minimum_should_match": 1, "should": [ { "bool": { "must_not": { "exists": { "field": "media_values.orientation" } } } }, { "bool": { "must": [ { "exists": { "field": "media_values.orientation" } }, { "terms": { "media_values.orientation": [ "landscape" ] } } ] } } ] } }, { "bool": { "minimum_should_match": 1, "should": [ { "bool": { "must_not": { "exists": { "field": "workflow.status.keyword" } } } }, { "bool": { "must": [ { "exists": { "field": "workflow.status.keyword" } }, { "terms": { "workflow.status.keyword": [ "APPROVED" ] } } ] } } ] } } ] } } ] } } }
Ok after a day of fiddling with `bool` I got it working:
{ "query": { "bool" : { "must" : [ { "multi_match": { "query": "keyword", "fields": [ "name^3", "body" ] } }, { "bool": { "should": [ { "bool": { "must": [ { "range": { "publish_at": { "lte" : "now" } } }, { "range": { "publish_until": { "gt" : "now" } } } ] } }, { "bool": { "must_not": [ { "exists": { "field": "publish_at" } }, { "exists": { "field": "publish_until" } } ] } } ] } } ] } } }

        
Present in both answers; Present only in the new answer; Present only in the old answer;