diff --git a/src/Datasource/DatasourceInterface.php b/src/Datasource/DatasourceInterface.php
index 6543b6d..6d0a0d5 100644
--- a/src/Datasource/DatasourceInterface.php
+++ b/src/Datasource/DatasourceInterface.php
@@ -33,6 +33,9 @@
   /**
    * Retrieves the properties exposed by the underlying complex data type.
    *
+   * Property names have to start with a letter or an underscore, followed by
+   * any number of letters, numbers and underscores.
+   *
    * @return \Drupal\Core\TypedData\DataDefinitionInterface[]
    *   An associative array of property data types, keyed by the property name.
    */
diff --git a/src/Processor/ProcessorInterface.php b/src/Processor/ProcessorInterface.php
index 914d6bf..dd8dbd2 100644
--- a/src/Processor/ProcessorInterface.php
+++ b/src/Processor/ProcessorInterface.php
@@ -125,12 +125,18 @@ public function isHidden();
   /**
    * Retrieves the properties this processor defines for the given datasource.
    *
+   * Property names have to start with a letter or an underscore, followed by
+   * any number of letters, numbers and underscores. To avoid collisions, it is
+   * also recommended to prefix the property name with the identifier of the
+   * module defining the processor.
+   *
    * @param \Drupal\search_api\Datasource\DatasourceInterface|null $datasource
    *   (optional) The datasource this set of properties belongs to. If NULL, the
    *   datasource-independent properties should be added (or modified).
    *
    * @return \Drupal\search_api\Processor\ProcessorPropertyInterface[]
-   *   An array of property definitions for that datasource.
+   *   An array of property definitions for that datasource, keyed by
+   *   property names.
    */
   public function getPropertyDefinitions(DatasourceInterface $datasource = NULL);
 
