drupal 8 – ¿Cómo puedo indexar los comentarios?

Pregunta:

No estoy seguro de si realmente está haciendo esto; No puedo ver ninguna opción para los campos de comentarios en la configuración. ¿Cómo puedo comprobar? ¿Dice explícitamente en alguna parte?

Respuesta:

Comentarios de Apachesolr

De forma predeterminada, los comentarios del índice del módulo apachesolr adjuntos al nodo. Por lo que no puede buscar comentarios directamente. Este módulo separa los comentarios de los nodos y le permite buscarlos directamente.

ACTUALIZAR:

Para buscar api, aplique este parche

diff --git a/modules/callbacks.inc b/modules/callbacks.inc
index dca9e1d..e12be6a 100644
--- a/modules/callbacks.inc
+++ b/modules/callbacks.inc
@@ -80,6 +80,12 @@ function entity_metadata_comment_get_node_properties($node, array $options, $nam

     case 'comment_count_new':
       return comment_num_new($node->nid);
+
+    case 'comments':
+      $select = db_select('comment', 'c')
+        ->fields('c', array('cid'))
+        ->condition('c.nid', $node->nid);
+      return array_keys($select->execute()->fetchAllKeyed(0, 0));
   }
 }

diff --git a/modules/comment.info.inc b/modules/comment.info.inc
index 4321b4c..a9d7fe9 100644
--- a/modules/comment.info.inc
+++ b/modules/comment.info.inc
@@ -136,6 +136,13 @@ function entity_metadata_comment_entity_property_info_alter(&$info) {
     'setter permission' => 'administer comments',
     'type' => 'integer',
   );
+  $properties['comments'] = array(
+    'label' => t("Comments"),
+    'type' => 'list<comment>',
+    'description' => t("The node comments."),
+    'getter callback' => 'entity_metadata_comment_get_node_properties',
+    'computed' => TRUE,
+  );
   $properties['comment_count'] = array(
     'label' => t("Comment count"),
     'description' => t("The number of comments posted on a node."),

Tomado de la fuente https://drupal.org/node/1414688#comment-7037540 y también vale la pena mirar este http://blog.merge.nl/shorts/search-api-indexing-nodes-including-comments

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım