我对数据库中的索引不太了解,所以我的问题可能很愚蠢,但是......我有个人参数(姓名,姓氏,组织,工作等),现在我正在prePersist()
方法中创建索引字符串,比如这个:
$this->search_index = $this->name.' '.$this->surname.' '.$this->orgnaization;
使用“”进一步搜索分解字符串,并使用LIKE
search_index 比较每个部分。
但这看起来很疯狂。最佳做法是什么?ps我的示例代码:
$queryBuilder = $this->createQueryBuilder('s');
foreach(explode(" ", $query) as $key=>$part){
$queryBuilder->orWhere('s.searchindex LIKE:name'.$key)
->setParameter('name'.$key, $part);
}