codeigniter 및 doctrine을 사용하여 전체 텍스트 검색을 수행하려고합니다. 제 문제는 Doctrine이 전체 단어에 대해서만 검색을 수행한다는 것입니다.doctrine을 사용하여 부분 단어 검색
예를 들어 '산'을 검색하면 산이라는 단어로 모든 항목을 가져옵니다. 그러나 "mount"를 검색하면 아무 것도 얻지 못합니다.
codeigniter 및 doctrine을 사용하여 전체 텍스트 검색을 수행하려고합니다. 제 문제는 Doctrine이 전체 단어에 대해서만 검색을 수행한다는 것입니다.doctrine을 사용하여 부분 단어 검색
예를 들어 '산'을 검색하면 산이라는 단어로 모든 항목을 가져옵니다. 그러나 "mount"를 검색하면 아무 것도 얻지 못합니다.
필자는 Symfony 1.4와 Doctrine 1.2에서 Searchable 동작과 동일한 문제를 겪었으며이 문제를 발견했습니다. 그런 다음 단어에 적용되는 검색어에 와일드 카드 (? 또는 *)를 추가 할 수 있음을 알았습니다. 귀하의 경우에는 "마운트 *"산을 일치합니다. 필자의 경우에는 각 검색어에이 키워드를 적용하여 사용자로부터 숨 겼습니다.
$results = $table->search('*'.$search_string.'*');
희망이 있으면 도움이 될 것입니다.
- 편집 -
이 한 단어 쿼리에 대해 잘 작동하지만, 여러 부분 단어에 다시 실패 ... 급하게 위의 약간을 기록했다. 이 같은 것이 더 잘 작동해야합니다.
$actual_search_string = '*'.implode('* *', explode(' ', $search_string)).'*';
$results = $table->search($actual_search_string);
테이블 열 유형은 무엇입니까? 왜 LIKE를 사용하지 않습니까? – Tom