CopyPastor

Detecting plagiarism made easy.

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

Possible Plagiarism

Plagiarized on 2020-03-25
by Opster ES Ninja Nishant

Original Post

Original - Posted on 2019-06-01
by niranjan harpale



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

You don't need to specify the query for each field in `query_string` query. Rather you can specify the list of fields as below:
{ "query": { "bool": { "must": [ { "term": { "orgId.keyword": { "value": "567890", "boost": 1 } } }, { "simple_query_string": { "query": "first*", "fields": [ "lastName^1.0", "userId^1.0", "orgId^1.0", "firstName^1.0", "phoneNumber^1.0", "id^1.0" ] } } ] } }, "sort": [ { "userId.keyword": { "order": "asc" } } ] }
Also to answer
> How to built AND condition between should and must elastic search bool query?
here is a sample query for this:
{ "query": { "bool": { "must": [ { "term": { "field1": "someval" } }, { "bool": { "should": [ { "terms": { "field2": [ "v1", "v2" ] } }, { "query_string": { "query": "this AND that OR thus" } } ] } } ] } } }
This is how you can nest multiple bool queries in one outer bool query this using Kibana,
> **bool** indicates we are using boolean > > **must** is for **AND** > > **should** is for **OR**



GET my_inedx/my_type/_search { "query" : { "bool": { //bool indicates we are using boolean operator "must" : [ //must is for **AND** { "match" : { "description" : "some text" } }, { "match" :{ "type" : "some Type" } }, { "bool" : { //here its a nested boolean query "should" : [ //should is for **OR** { "match" : { //ur query } }, { "match" : {} } ] } } ] } } }


This is how you can nest a query in ES
There are more types in "bool" like -
1. Filter
2. must_not

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