我在弹性搜索中有一个索引,它包含8个字段
我想写一个包含当前查询中所有8个字段的查询
但有时用户只能从当前索引查询中搜索2、3、4个字段
我正在尝试根据以下sql查询条件搜索记录:-1: 条件:-01 我在当前索引用例中有8个字段,我想根据提供的值搜索所有字段的值,比如- 字段1:“数据” 字段2:'sata' 字段5:2424 字段8:PHM
条件02:- 在上面的搜索字段中,我没有提供字段3、4、6、7的字段值 但我们需要这个字段来在当前查询中进行下一次搜索,并希望得到与上一次搜索完全匹配的结果- 字段1:“数据” 字段2:'sata' 字段5:2424 字段8:'PHM'
条件3:-1: 当我使用--and--(在ES中匹配)条件 字段1:“数据” 字段2:'sata' 字段5:2424 字段8:PHM
--然后它将获取完全匹配的记录,但如果我们不传递任何字段的值,则此查询将失败
--如果我使用了--OR--(should in ES)条件,那么它将获取所有匹配的记录,其中所有字段在我的用例中都是错误的
最终请求:
我想--所有字段--在搜索查询中,但用户可以提供一些时间3,4,5字段只,但结果应该来根据提供的字段值
有关详细信息:- https://discuss.elastic.co/t/elastic-search-advanced-search-query-issue/198254/3
非常感谢。 Hadoop帮助
"query": "select * from dbdataindex_join_allcolumns_qa_modify_cm_28_08_2019 where regionname='MSP 05S' and caremanager='HM CM' and patientname='Aaron' "
}```
SAME QUERY in DSL:-
```<{ "size" : 1000, "query" : { "bool" : { "must" : [ { "bool" : { "must" : [ { "term" : { "regionname.keyword" : { "value" : "MS5S", "boost" : 1.0 } } }, { "term" : { "caremanager.keyword" : { "value" : "HECM", "boost" : 1.0 } } } ], "adjust_pure_negative" : true, "boost" : 1.0 } }, { "term" : { "patientname.keyword" : { "value" : "Aaa", "boost" : 1.0 } } } ], "adjust_pure_negative" : true, "boost" : 1.0 } }, "_source" : { "includes" : [ "@version", "active", "beneficiary_status", "care_program_name", "caremanager", "city", "dob1", "email", "medicare", "patientname", "pcp", "phone_home", "provider_type", "regionname", "sex" ], "excludes" : [ ] }, "docvalue_fields" : [ { "field" : "@timestamp", "format" : "epoch_millis" }, { "field" : "age" }, { "field" : "careprog_id" }, { "field" : "dob", "format" : "epoch_millis" }, { "field" : "log_date", "format" : "epoch_millis" }, { "field" : "patient_provider_hrk" }, { "field" : "pid" }, { "field" : "user_id" } ], "sort" : [ { "_doc" : { "order" : "asc" } } ] } />```
i am getting null value when applied must ?
目前没有回答
相关问题 更多 >
编程相关推荐