1
我是elasticsearch的新手,我有產品索引,其中類別作爲csv字符串存儲在一個字段中。我使用PHP客戶端,和我目前的搜索代碼看起來像在elasticsearch如何在csv字符串字段中篩選
$params = [
"index" => "products",
"type" => "product",
"body" => [
"size" => "5",
"query" => [
"function_score" => [
"query" => [
"bool" => [
"must" => [
"query_string" => [
"fields" => ["category", "sub_category", "website", "services_offered", "keyword", "locations", "info"],
"query" => $keyword."*"
]
],
"filter" => [
"term"=> ["is_active"=>1]
]
]
],
"functions" => [
[
"field_value_factor" => ["field" => "rating", "modifier" => "none", "factor" => 1]
],
[
"field_value_factor" => ["field" => "reviews","modifier" => "log1p","factor" => 2]
]
]
]
]
]
];
$results = $this->elasticclient->search($params);
我試圖修改filter
陣列狀
"filter" => [
"term"=> ["is_active"=>1],
"wildcard" => ["category"=>$category]
]
但我得到一個malformed query, expected [END_OBJECT] but found [FIELD_NAME]
錯誤。
另外在旁邊,在PHP客戶端,我怎樣才能得到最終生成的查詢調試?