Solo quiero indexar ciertos nodos. El módulo "search config" afirma tener esta capacidad, pero no funciona. Entonces, ¿cómo puedo editar el módulo de nodo para indexar ciertos nodos, o mejor aún, implementar un módulo que pueda hacer esto por mí?¿Cómo restringir la búsqueda de Drupal de indexar todos los tipos de contenido?
Respuesta
Ésta es a long standing feature request, pero parece que ya se ha llevado a por lo menos Drupal 8:/
puede encontrar algunas sugerencias de solución en la discusión de estas solicitudes vinculado anteriormente, pero el enfoque 'estándar' utilizado por el módulo de configuración de búsqueda es described here. No impide que los nodos se indexen, pero manipula las consultas de búsqueda para ignorar ciertas entradas (por ejemplo, tipos de nodos) para que no se muestren en las páginas de resultados de búsqueda.
Como no hay una mejor solución en este momento (afaik), estoy de acuerdo con el comentario de ceejayoz de que primero debes comprobar por qué el módulo de configuración de búsqueda no funciona para ti antes de embarcarte en la codificación personalizada de tu propia solución.
Si tiene que recurrir a la edición del módulo de nodo en sí, node_update_index()
sería el lugar para comenzar.
Aquí está la consulta que determina lo que debe ser indexado, desde node_update_index():
SELECT n.nid FROM {node} n
LEFT JOIN {search_dataset} d ON d.type = 'node' AND d.sid = n.nid
WHERE d.sid IS NULL OR d.reindex <> 0
ORDER BY d.reindex ASC, n.nid ASC
No se puede evitar que el guión de indexación que se ejecute. Pero puede engañar esa consulta para que piense que el contenido ya está indexado insertando entradas ficticias en {search_dataset}.
Por ejemplo, si estás usando MySQL, hacer esto en cron:
INSERT INTO {search_dataset}
(sid, type, data, reindex)
SELECT nid, 'node', '', 0 FROM {node} WHERE node.type IN (RESTRICTED_TYPES)
ON DUPLICATE KEY UPDATE reindex = 0, data = ''
reemplazar "RESTRICTED_TYPES" con su lista de tipos de nodos, y hacer una consulta similar para cada entidad desea restringir a partir buscar.
También es posible que desee limpiar la tabla search_index, que puede ser extremadamente voluminosa, así: "DELETE from search_index where sid in (SELECCIONE nid FROM node WHERE node.type IN (RESTRICTED_TYPES)" – aaronbauman
Una cosa más, puede necesita limpiar su tabla search_total manualmente si tiene una base de datos muy grande: "DELETE FROM search_total WHERE palabra NOT IN (SELECCIONE palabra DISTINCT FROM search_index)". De lo contrario, search.module se queda sin memoria tratando de cargar todos los elementos faltantes en un consulta única. – aaronbauman
- 1. ¿Cómo restringir los tipos de archivos en FileUpload en MVC3?
- 2. ¿Cómo indexar su aplicación Silverlight en el motor de búsqueda?
- 3. ¿Cómo restringir varios tipos genéricos?
- 4. Drupal 7: cómo restringir el acceso de archivos a roles de usuario específicos
- 5. dnd, ¿cómo restringir la caída a ciertos tipos de nodos?
- 6. restringir la selección de carga de archivos a tipos específicos
- 7. ¿Cómo restringir los mensajes del actor a tipos específicos?
- 8. Tipo de contenido de Drupal (restaurante) Diseño
- 9. Restringir el acceso al proveedor de contenido
- 10. ¿Cómo puedo restringir cierto contenido en CakePHP?
- 11. Obtenga todos los tipos concretos de ninject
- 12. Cómo obtener todos los valores de un resultado de búsqueda
- 13. joomla: cómo puedo crear nuevos tipos de contenido en joomla
- 14. dwscript: ¿cómo enumerar todos los tipos disponibles?
- 15. Búsqueda avanzada con Drupal (Vistas y CCK)
- 16. ¿Cómo jQuery puede restringir los tipos de archivos durante la carga?
- 17. ¿Cómo restringir los tipos de archivo con el tipo de archivo de entrada HTML?
- 18. ¿Cómo habilito Speedbar para visualizar todos los tipos de archivos?
- 19. MySQL: ¿por qué no indexar todos los campos?
- 20. la búsqueda de todos los usuarios que tienen nombres duplicados
- 21. Cómo indexar los valores de BigDecimal en Lucene 3.0.1
- 22. Creación de una jerarquía de temas para indexar contenido
- 23. ¿Cómo puedo usar Verity para indexar y buscar contenido de base de datos en ColdFusion 9?
- 24. Búsqueda de texto a la mancha solar/Solr - cómo indexar asociaciones de carriles
- 25. Cómo restringir los datos del proveedor de contenido a través de las aplicaciones
- 26. Restringir tipos de archivos en JQuery File upload demo
- 27. Buscar tipos en todos los ensamblajes
- 28. Los motores de búsqueda no pueden indexar el sitio asp.net debido a los 302 redireccionamientos a la página de error
- 29. ¿Cómo puedo restringir un tipo (tipo?) A los tipos de producto solamente
- 30. Cómo fusionar los cambios en la base de datos Drupal
Definir "no funciona". ¿Ha contactado con los mantenedores de la configuración de búsqueda para obtener asistencia? – ceejayoz
Por no funciona, quiero decir que les impide aparecer en los resultados de búsqueda, pero no detiene la indexación de estos nodos. Que es lo que necesito – coderama