我想編寫一個查詢搜索上兩列的產品稱爲category1
和category2
。我正在使用彈性搜索PHP客戶端,並嘗試與匹配應查詢,但這給了我錯誤的結果,因爲子串的匹配。Elasticsearch一方或匹配查詢
但我在尋找與操作精確匹配或兩列。我對此很陌生,請引導我。
$params['index'] = 'furnit';
$params['type'] = 'products';
$params['body']['query']['bool']['should'] = array(
array('match' => array('category1' => $category->name)),
array('match' => array('category2' => $category->name)),
);
$results = $this->elasticsearch->search($params);
如果你有類ID(S )這些類別,你應該使用,如果你是不是在找得分和相關性,我認爲用在類ID(S)一個布爾值過濾器可能會做正確的方式。 還要考慮 - 爲布爾查詢minimum_number_should_match參數。 –