我在数据库中有这些条目:
1:{
first_name:"david",
last_name:"cohen"
}
2:{
first_name:"david king",
last_name:"cohen"
}
所需的搜索逻辑是一个完整的词匹配:
搜索“david ki” - 将返回空
搜索“大卫王” - 将返回 2
搜索“david cohen” - 将同时返回 1 + 2
在 MySQL 中,我的查询如下所示:
WHERE first_name REGEXP '[[:<:]]{$first_name}[[:>:]]' AND last_name REGEXP '[[:<:]]{$last_name}[[:>:]]'
我试过像这样构建查询:
if ( $search_params ) {
foreach ( $search_params as $search_param_key => $search_params_value ) {
if ( $search_params_value ) {
$search_query_fields[] = "{$search_param_key}:\"{$search_params_value}\"";
}
}
$query_string = implode( ' AND ', $search_query_fields );
$query->setQuery( $query_string );
}
如何在 SOLR 上模仿相同的 MySQL 查询?