如何構建查詢JSON,以便在過濾時檢查是否存在外部參數。Elasticsearch參數存在
{"query": {
"filtered": {
"query": {
"match_all": {}
}}},
"filter": {
"and": {
"filters": [
{
"term": {
"locality_name": params[:locality_name] if params[:locality_name].present?
}
}
]
}
}}:
JSON中的if
子句是查詢DSL的無效語法。
是存儲在文件中的參數,抑或是由客戶端發送到服務器elasticsearch之前設置? – ramseykhalaf
PARAMS像在被傳遞到服務器 – user2512324
外部參數,如果你知道你創建查詢之前只是不加濾網,如果參數不存在(有一個'如果(PARAM){fquery是否存在PARAMS =新filteredQuery(); fquery.query = oldquery; fquery.filter =新termfilter( 「處所名稱」,params.localityname);}'我缺少的東西 – ramseykhalaf