diff --git a/core/modules/search/search.api.php b/core/modules/search/search.api.php
index d6caafb..3a98e53 100644
--- a/core/modules/search/search.api.php
+++ b/core/modules/search/search.api.php
@@ -22,14 +22,14 @@
  *   instance, walk, walked, walking, and walks in searching.
  * - Expanding abbreviations and acronymns that occur in text.
  *
- * @param $text
+ * @param string $text
  *   The text to preprocess. This is a single piece of plain text extracted
  *   from between two HTML tags or from the search query. It will not contain
  *   any HTML entities or HTML tags.
- * @param $langcode
+ * @param string $langcode
  *   The language code of the entity that has been found.
  *
- * @return
+ * @return string
  *   The text after preprocessing. Note that if your module decides not to
  *   alter the text, it should return the original text. Also, after
  *   preprocessing, words in the text should be separated by a space.
diff --git a/core/modules/search/search.module b/core/modules/search/search.module
index e05576d..726103a 100644
--- a/core/modules/search/search.module
+++ b/core/modules/search/search.module
@@ -123,14 +123,14 @@ function search_preprocess_block(&$variables) {
  * This function is meant for use by search page plugins, or for building a
  * user interface that lets users clear all or parts of the search index.
  *
- * @param $type
+ * @param string|null $type
  *   (optional) The plugin ID or other machine-readable type for the items to
  *   remove from the search index. If omitted, $sid and $langcode are ignored
  *   and the entire search index is cleared.
- * @param $sid
+ * @param string|null $sid
  *   (optional) The ID of the items to remove from the search index. If
  *   omitted, all items matching $type are cleared, and $langcode is ignored.
- * @param $langcode
+ * @param string|null $langcode
  *   (optional) Language code of the item to remove from the search index. If
  *   omitted, all items matching $sid and $type are cleared.
  */
@@ -226,10 +226,10 @@ function search_update_totals() {
 /**
  * Simplifies a string according to indexing rules.
  *
- * @param $text
+ * @param string $text
  *   Text to simplify.
  *
- * @return
+ * @return string
  *   Simplified text.
  *
  * @see hook_search_preprocess()
@@ -289,13 +289,13 @@ function search_simplify($text, $langcode = NULL) {
  * is equal to the 'minimum_word_size' variable. This tokenizing is only done
  * if the 'overlap_cjk' variable is TRUE.
  *
- * @param $matches
+ * @param array $matches
  *   This function is a callback for preg_replace_callback(), which is called
  *   from search_simplify(). So, $matches is an array of regular expression
  *   matches, which means that $matches[0] contains the matched text -- a
  *   string of CJK characters to tokenize.
  *
- * @return
+ * @return string
  *   Tokenized text, starting and ending with a space character.
  */
 function search_expand_cjk($matches) {
@@ -367,14 +367,14 @@ function search_invoke_preprocess(&$text, $langcode = NULL) {
 /**
  * Updates the full-text search index for a particular item.
  *
- * @param $type
+ * @param string $type
  *   The plugin ID or other machine-readable type of this item,
  *   which should be less than 64 bytes.
- * @param $sid
+ * @param int $sid
  *   An ID number identifying this particular item (e.g., node ID).
- * @param $langcode
+ * @param string $langcode
  *   Language code for text being indexed.
- * @param $text
+ * @param string $text
  *   The content of this item. Must be a piece of HTML or plain text.
  *
  * @ingroup search
@@ -733,16 +733,16 @@ function search_excerpt($keys, $text, $langcode = NULL) {
 /**
  * Finds an appropriate keyword in text.
  *
- * @param $key
+ * @param string $key
  *   The keyword to find.
- * @param $text
+ * @param string $text
  *   The text to search for the keyword.
- * @param $boundary
+ * @param string $boundary
  *   Regular expression for boundary characters between words.
- * @param $langcode
+ * @param string $langcode
  *   Language code.
  *
- * @return
+ * @return string
  *   A segment of $text that is between word boundary characters that either
  *   matches $key directly, or matches $key when both this text segment and
  *   $key are processed by search_simplify(). If a matching text segment is
diff --git a/core/modules/search/src/SearchQuery.php b/core/modules/search/src/SearchQuery.php
index 21c271b..4a58e97 100644
--- a/core/modules/search/src/SearchQuery.php
+++ b/core/modules/search/src/SearchQuery.php
@@ -195,9 +195,9 @@ class SearchQuery extends SelectExtender {
   /**
    * Sets the search query expression.
    *
-   * @param $expression
+   * @param string $expression
    *   A search string, which can contain keywords and options.
-   * @param $type
+   * @param string $type
    *   The search type. This maps to {search_index}.type in the database.
    *
    * @return $this
@@ -528,7 +528,7 @@ public function addScore($score, $arguments = array(), $multiply = FALSE) {
    * Error and warning conditions can apply. Call getStatus() after calling
    * this method to retrieve them.
    *
-   * @return
+   * @return \Drupal\Core\Database\StatementInterface|null
    *   A query result set containing the results of the query.
    */
   public function execute() {
diff --git a/core/modules/search/src/Tests/SearchMultilingualEntityTest.php b/core/modules/search/src/Tests/SearchMultilingualEntityTest.php
index 0370ee2..e7147ba 100644
--- a/core/modules/search/src/Tests/SearchMultilingualEntityTest.php
+++ b/core/modules/search/src/Tests/SearchMultilingualEntityTest.php
@@ -264,11 +264,11 @@ function testMultilingualSearch() {
   /**
    * Verifies the indexing status counts.
    *
-   * @param $remaining
+   * @param int $remaining
    *   Count of remaining items to verify.
-   * @param $total
+   * @param int $total
    *   Count of total items to verify.
-   * @param $message
+   * @param string $message
    *   Message to use, something like "after updating the search index".
    */
   protected function assertIndexCounts($remaining, $total, $message) {
