我試圖寫查詢(與foselastica束)其中值應該是一些id或可以爲null。elasticsearch - 其中字段爲空
在MySQL:WHERE city.id = 1 OR city.id IS NULL
我知道,我應該使用存在,不能表達,但不是爲我工作。有什麼建議?
$query = new \Elastica\Query();
if ($phrase) {
$queryString = new \Elastica\Query\QueryString($phrase);
$query->setQuery($queryString);
}
$filter = new \Elastica\Query\BoolQuery();
$city = new \Elastica\Query\Match();
$city->setFieldQuery('city.id', $cityId);
$filter->addShould($city);
$nullCity = new \Elastica\Query\Exists('city.id');
$filter->addMustNot($nullCity);
$query->setPostFilter($filter);
閱讀[在elasticsearch查詢與空不空值處理(http://www.inanzzz.com/index.php/post/ioyu/dealing-with-null-and-非空值功能於elasticsearch查詢)。您需要使用[missing](https://www.elastic.co/guide/en/elasticsearch/guide/current/_dealing_with_null_values.html)。 – BentCoder
缺少的查詢已從版本5中刪除。我沒有[查詢]註冊[missing]異常。我找不到任何有用的例子。 –