Solr全文搜索

时间:2021-03-04 12:29:46

标签: php solr solarium

我在数据库中有这些条目:

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 查询?

0 个答案:

没有答案
相关问题