public static function SuggestionHelper::insert in Autocomplete Search Suggestions 8
Same name and namespace in other branches
- 8.2 src/SuggestionHelper.php \Drupal\suggestion\SuggestionHelper::insert()
- 3.0.x src/SuggestionHelper.php \Drupal\suggestion\SuggestionHelper::insert()
Add a suggestion.
Parameters
string $txt: The title to index.
int $src: The bits to OR with the current bitmap.
int $qty: Default quantity.
Return value
int The number of suggestions inserted.
4 calls to SuggestionHelper::insert()
- SuggestionAdminForm::setKeywords in src/Form/ SuggestionAdminForm.php 
- Process all the priority suggestions submitted.
- SuggestionHelper::index in src/SuggestionHelper.php 
- Create a suggestion index from content titles.
- suggestion_node_insert in ./suggestion.module 
- Implements hook_node_insert().
- suggestion_surfer_submit in ./suggestion.module 
- Custom submit function to add surfer suggestions.
File
- src/SuggestionHelper.php, line 164 
Class
- SuggestionHelper
- Provides helper methods for suggestions.
Namespace
Drupal\suggestionCode
public static function insert($txt = '', $src = SuggestionStorage::CONTENT_BIT, $qty = NULL) {
  $count = 0;
  $max = self::getConfig('max');
  $txt = self::tokenize($txt, self::getConfig('min'));
  if (!$txt) {
    return 0;
  }
  $atoms = self::atomize($txt);
  foreach (array_keys(self::ngrams($atoms)) as $ngram) {
    if (strlen($ngram) > $max) {
      continue;
    }
    $count = str_word_count($ngram);
    $qty = is_numeric($qty) ? $qty + 1 : SuggestionStorage::getNgramQty($ngram) + 1;
    $src = SuggestionStorage::getBitmap($ngram, $src);
    $key = [
      'ngram' => $ngram,
    ];
    $fields = [
      'atoms' => $count,
      'density' => self::calculateDensity($src, $count, $qty),
      'qty' => $qty,
      'src' => $src,
    ];
    SuggestionStorage::mergeSuggestion($key, $fields);
    $count++;
  }
  return $count;
}