jeroen.film
Class KeywordIndex

java.lang.Object
  |
  +--jeroen.film.KeywordIndex
All Implemented Interfaces:
StatusBroadcaster

public class KeywordIndex
extends Object
implements StatusBroadcaster

Een index die aan elk keyword een filmId kan koppelen. Ook zijn er methodes om aan de hand van een DocRep een filmIterator te krijgen, en om ineens hele DocRep's toe te voegen aan de index.


Field Summary
static KeywordIndex current
          De huidige keywordIndex
 
Constructor Summary
KeywordIndex(File file)
          Open de index uit dit bestand
KeywordIndex(FilmDb db)
          Maak een nieuwe keyword-index
 
Method Summary
 Iterator filmIterator(DocRep query)
          Geeft een iterator die steeds Film-objecten levert, die in afnemende waarschijnlijkheid een goede match geven.
 String getLastQuery()
           
 int getMaxProgress()
          Een StatusBroadcaster methode
 int getProgress()
          Een StatusBroadcaster methode
 String getStatusString()
          Een StatusBroadcaster methode
 float getTF(String keyword)
          Levert de TF (Total Frequency) voor het gegeven keyword.
 boolean isActief()
          Een StatusBroadcaster methode
 void readFrom(File file)
           
 int size()
          Grootte van de index.
 void writeTo(File file)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

current

public static KeywordIndex current
De huidige keywordIndex
Constructor Detail

KeywordIndex

public KeywordIndex(File file)
             throws IOException
Open de index uit dit bestand

KeywordIndex

public KeywordIndex(FilmDb db)
Maak een nieuwe keyword-index
Method Detail

size

public int size()
Grootte van de index.

getStatusString

public String getStatusString()
Description copied from interface: StatusBroadcaster
Een StatusBroadcaster methode
Specified by:
getStatusString in interface StatusBroadcaster

getProgress

public int getProgress()
Description copied from interface: StatusBroadcaster
Een StatusBroadcaster methode
Specified by:
getProgress in interface StatusBroadcaster

getMaxProgress

public int getMaxProgress()
Description copied from interface: StatusBroadcaster
Een StatusBroadcaster methode
Specified by:
getMaxProgress in interface StatusBroadcaster

isActief

public boolean isActief()
Description copied from interface: StatusBroadcaster
Een StatusBroadcaster methode
Specified by:
isActief in interface StatusBroadcaster

getLastQuery

public String getLastQuery()

filmIterator

public Iterator filmIterator(DocRep query)
Geeft een iterator die steeds Film-objecten levert, die in afnemende waarschijnlijkheid een goede match geven. Zodra de match gegarandeerd onder Options.searchMinWeight ligt, worden geen films meer gegeven.
Parameters:
query - met welke query de film vergeleken gaat worden
Returns:
een iterator die Film-objecten geeft.
See Also:
Iterator, DocRep, Options.searchMinWeight

getTF

public float getTF(String keyword)
Levert de TF (Total Frequency) voor het gegeven keyword. De gebruikte formule is
 TF(k) = 2log(D/e(k))
 
waarbij D het totaal aantal documenten is, en e(k) het aantal documenten waarin k voorkomt.

De TF is gelijk aan nul indien het keyword in alle documenten voorkomt. De TF is erg groot indien het keyword heel weinig voorkomt.

Parameters:
k - het keyword waarvan je de TF wilt hebben
Returns:
de TF van het keyword
Throws:
KeywordNotFoundException - als het keyword niet bestaat
See Also:
DocRep.Lemma.getWeight(), PRTKI - indexing (pagina 3)

writeTo

public void writeTo(File file)
             throws IOException

readFrom

public void readFrom(File file)
              throws IOException