Foros del Web » Programando para Internet » PHP » Symfony »

Dudas con función de repositorio de entity para motor de busqueda

Estas en el tema de Dudas con función de repositorio de entity para motor de busqueda en el foro de Symfony en Foros del Web. Buenas gente tengo una duda, quiero implementar un motor de busquedas en un sitio y estoy siguiendo el tutorial de jobeet para symfony2, el tema ...
  #1 (permalink)  
Antiguo 28/07/2014, 16:59
 
Fecha de Ingreso: octubre-2013
Mensajes: 35
Antigüedad: 10 años, 6 meses
Puntos: 0
Dudas con función de repositorio de entity para motor de busqueda

Buenas gente tengo una duda, quiero implementar un motor de busquedas en un sitio y estoy siguiendo el tutorial de jobeet para symfony2, el tema es que sigo los pasos pero no me está arrojando resultados, lo que pude advertir es que en la clase del JobRepository donde se aplica la busqueda de las pks en un índice del motor de busqueda no las está usando en la query del repositorio para buscar en la BD, lo que veo es que la variable $pks es un array de pks que luego entra en la query por "parameter" puede ser ese el problema ??? como se haría para pasar las pks y hacer la busqueda en base de datos de los avisos "jobs" en este caso

Código PHP:
Ver original
  1. class JobRepository extends EntityRepository
  2. {
  3. // ...
  4.      public function getForLuceneQuery($query)
  5.     {
  6.          $hits = Job::getLuceneIndex()->find($query);
  7.  
  8.          $pks = array();
  9.          foreach ($hits as $hit)
  10.          {
  11.                $pks[] = $hit->pk;
  12.           }
  13.  
  14.           if (empty($pks))
  15.          {
  16.                return array();
  17.           }
  18.  
  19.          $q = $this->createQueryBuilder('j')
  20.                          ->where('j.id IN (:pks)')
  21.                          ->setParameter('pks', $pks)
  22.                          ->andWhere('j.is_activated = :active')
  23.                          ->setParameter('active', 1)
  24.                          ->setMaxResults(20)
  25.                          ->getQuery();
  26.           return $q->getResult();
  27.     }
  28. }
  #2 (permalink)  
Antiguo 28/07/2014, 17:41
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Dudas con función de repositorio de entity para motor de busqueda

Primero seria bueno que publicaras la fuente del tutorial y segundo que nos explicaras que quieres hacer basándote en tus entidades.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 28/07/2014, 18:19
 
Fecha de Ingreso: octubre-2013
Mensajes: 35
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Dudas con función de repositorio de entity para motor de busqueda

Este es el link al tutorial que estoy usando http://www.intelligentbee.com/blog/2013/08/29/symfony2-jobeet-day-17-search/ y lo que quiero es implementar ese motor de busqueda, en la clase de JobRepository todo funciona hasta que tengo que pasar los datos de la variable $pks que es un array al QueryBuilder para que busque en la base de datos, no sé si será que no se puede pasar arrays por "setParameter"?
  #4 (permalink)  
Antiguo 29/07/2014, 02:29
Avatar de Delek  
Fecha de Ingreso: marzo-2005
Ubicación: Madrid
Mensajes: 75
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Dudas con función de repositorio de entity para motor de busqueda

Yo he usado variables de sesión para pasar los parámetros, no se si será la manera correcta.

En el controlador principal:

Código:
    	$session = $this->getRequest()->getSession();
    	 
    	$nombre = $session->get('nombre');
Y en el controlador de búsqueda, por ejemplo al pulsar el botón buscar:

Código:
	$request = $this->container->get('request');
	$data = $request->request->all();
		
	$nombre = $data['form']['nombre'];

	$session = $request->getSession();
	$session->set('nombre', $nombre);

Última edición por Delek; 29/07/2014 a las 03:37
  #5 (permalink)  
Antiguo 29/07/2014, 09:02
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Dudas con función de repositorio de entity para motor de busqueda

Te marca algun error o te lanza algun mensaje cuando intentas hacer la operación ??
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: busqueda, dudas, entity, motor, repositorio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:15.