/** * Add a document * @param TokensDocument $document * @return void */ public function addDocument(TokensDocument $document) { foreach ($document->getDocumentData() as $term) { if (isset($this->index[$term])) { $this->index[$term][self::FREQ]++; $this->index[$term][self::POSTINGS][] = $document->getId(); } else { $this->index[$term] = [self::FREQ => 1, self::POSTINGS => [$document->getId()]]; } } }
/** * Removes the document from the index * @param TokensDocument $document */ public function removeDocument(TokensDocument $document) { $this->isDirty = true; $this->getInvertedIndex()->removeDocument($document->getId()); unset($this->metadata[$document->getId()]); }