私はデータベースのインデックスについてあまり知らないので、私の質問はばかげているかもしれませんが...私は人(名前、姓、組織、仕事など)のパラメータを持っています.今、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);
}