Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    143

    [Lucene - ClasseIndex Reader] ottenere le frequenze dei termini

    Ciao a tutti. Sto creando un piccolo motore di ricerca per indicizzare i documenti utilizzando Lucene.

    Nel mio algoritmo di ranking ho la necessità di avere a disposizione la lista di tutti i termini (che ottengo utilizzando una classe di Luke ) con le relative frequenze all'interno di ogni documento. QUI ARRIVA IL PROBLEMA.

    Per avere le frequenze dei termini sto utilizzando la classe IndexReader (di Lucene) che fornisce un metodo termFreq() che , cito dalla documentazione ufficiale,

    Returns an enumeration of all the documents which contain term. For each document, the document number, the frequency of the term in that document is also provided, for use in search scoring. Thus, this method implements the mapping: Term => <docNum, freq>

    Questa enumeration non penso di riuscire a "scorrerla" con un semplice ciclo for ma devo devo utilizzare il metodo next()

    Questo metodo, sempre dalla documentazione ufficiale

    Moves to the next pair in the enumeration. .

    Il problema è che questa coppia <docnum,freq> è sempre nulla, anche se so perfettamente, controllando in fase di debug, che ciò non è vero. Inotre, il metodo descritto restituisce true fin quando ha qualcosa da ciclare e false quando non c'è più niente. UN ALTRO PROBLEMA nasce se utilizzo questo metodo in un ciclo while

    while(next()) .... il risultato è un ciclo infinito ...

    Non riesco a capire da dove arrivino entrambi i problemi.

    Qualcuno ha qualche consiglio? Qualcuno ha mai utilizzato questi metodi?

    Grazie
    Alle

  2. #2
    In fase di creazione dell'indice sei sicuro di aver memorizzato il vettore delle frequenze?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.