Thanks Mark,
Yes "fr" is fileReader but I don't think is positioned at the end of
file because the same problem occurs when I pass to MoreLikeThis the
File (C:\\Document.txt) instead of a fileReader...
So also if I write:
MoreLikeThis mlt = new MoreLikeThis(ir);
Query query = mlt.like(new File(C:\\Document.txt));
query is empty... I don't know...
mark harwood wrote:
>>> if (fr != null){
>>> System.out.println("Parsing FileReader: " + fr);
>>> query = mlt.like(fr);
>
> Not clear from your code but "fr" isn't the same object as "fileReader" is it?
> If so, that could be positioned at the end of the file and MoreLikeThis would
> therefore read nothing.
>
>
>
> ----- Original Message ----
> From: Davide <[EMAIL PROTECTED]>
> To: [email protected]
> Sent: Wednesday, 19 July, 2006 11:28:38 AM
> Subject: Re: Problem finding similar documents with MoreLikeThis method.
>
>
> mark harwood wrote:
>> Looks like the class defaults to only searching a field called "contents".
>>
>> Either:
>> a) call setFieldNames() with null to force the class to use a list of all
>> indexed fields derived from your IndexReader
>> or
>> b) call setFieldNames() with the explicit shortlist of field names you want
>> to match on
>>
>>
>> Cheers
>> Mark
>>
>
> I've tried but It still doesn't work. I've called the method:
>
> setFieldNames(new String[]{"Field1", "Field2", ...}) with "Field1",
> "Field2" the fields I used when I index the files but nothing *Query* is
> still empty and MoreLikeThis doesn't work... I don't think the problem
> is this.
>
>
> For simplicity I give you a general code (a test) that doesn't work, You
> can try it and tell me if also for you the code doesn't work...
>
> I have also tried the *main* code of MoreLikeThis class and it doesn't
> work.. (I have changed the Index_dir and the document to add to index)
>
> ------------------------------------------------------------------------
> -------------------- MoreLikeThis Test ---------------------------------
> ------------------------------------------------------------------------
>
> //Build an IndexWriter object to build an index
> IndexWriter writer = new IndexWriter("C:\\Temp\\index", new
> StandardAnalyzer(), true);
>
> //----- Adding a document to index ----
> Document doc = new Document();
> File f = new File("C:\\Document.txt");
> FileReader fileReader = new FileReader(f);
>
> Field field = new Field("contents", fileReader, Field.TermVector.YES);
>
> doc.add(field);
> writer.addDocument(doc);
> //--------------------------------------
>
>
> //Optimize index and close
> writer.optimize();
> System.out.println("The documents in the index are: "+writer.docCount());
> writer.close();
>
>
> //-------- Now try to find similar documents
>
> Directory indexDir = FSDirectory.getDirectory("C:\\Temp\\index", false);
>
> IndexReader ir = IndexReader.open(indexDir);
>
> MoreLikeThis mlt = new MoreLikeThis(ir);
>
> //mlt.setFieldNames(new String[] {"contents"});
>
> Query query = null;
> if (fr != null){
> System.out.println("Parsing FileReader: " + fr);
> query = mlt.like(fr);
>
> }
>
> System.out.println("The Query is: " + query);
>
> IndexSearcher is = new IndexSearcher(indexDir);
>
> Hits hits = is.search(query);
>
> for (Iterator iterDoc = hits.iterator(); iterDoc.hasNext();) {
>
> Hit hit = (Hit)iterDoc.next();
> System.out.println("\n\nSimilar file: "+hit.get("contents"));
> }
> ------------------------------------------------------------------------------
>
> NOTE:
> 1) Document.txt is a text file containg some text
>
>
> I really don't understand why It doesn't work... I'm feel lost... :(
>
>
>
>
> Riprendo quanto scritto da anonimo in precedenza (con piccole correzioni),
> per dargli il giusto risalto, in quanto le argomentazioni addotte mi paiono
> assolutamente interessanti.
>
> -----------------------------------------
>
> L'obbligo di corrispondere ad un Ente X una tassa di possesso di
> un'apparecchiatura Z per fruizione di servizi erogati da X ma anche, in parte
> preponderante e totalmente gratuita, da un insieme di altri Enti YY,
> condiziona in modo grave il diritto dell'utenza alla fruizione gratuita dei
> soli servizi erogati da YY.
> Se l'Ente X si configura come servizio pubblico deve erogare solo servizio
> pubblico non finalizzato a lucro, e solo chi lo utilizza può essere
> assoggettato a pagamento a favore del Pubblico Erario (e non certo di X) di
> un equo corrispettivo del servizio effettivamente goduto, indipendentemente
> da dubbie controversie sul possesso di apparecchiature Z.
> Se l'Ente X non si configurasse come servizio pubblico, o anche laddove il
> servizio di X assumesse di fatto le stesse caratteristiche di servizi privati
> forniti da Enti YY venendo meno alle regole di servizio pubblico,
> diventerebbe discriminatoria della libera concorrenza e implicitamente
> anticostituzionale qualsiasi legge proponente introiti a favore del solo
> operatore X e quindi a danno degli operatori YY.
> Allo stato dell'arte attuale, pagare solo X per detenere un sistema Z di
> fruizione dei servizi di X+YY è quanto meno ingiusto, monopolistico,
> anticoncorrenziale, iniquamente penalizzante gli Enti YY, oltre che
> disgustoso nella forma in cui è imposto.
> E' come se i proventi della tassa di circolazione auto li incamerasse per
> legge solo una certa azienda automobilistica nazionale... (a parte che la
> realtà non sarà molto diversa).
>
> ---------------------------------------
>
> Premesso ciò, ed in attesa che le nuove tecnologie di Z trasformino le
> modalità di fruizione di detti servizi, rendendo possibili forme di pagamento
> basate sugli effettivi utilizzi di quanto erogato sia da X che da YY a
> condizioni liberamente accettate dall'Utenza, diamo una serie di consigli
> comportamentali, praticamente un prontuario per l'Utenza stessa.
>
> -----------------------------------------------
> Consigli comportamentali per l'Utenza.
> -----------------------------------------------
>
> Non possedete apparecchiature di tipo Z ossia soggette a versamento canone, e
> X insiste a chiedervelo sottintendendo che siete evasore e minacciandovi in
> conseguenza: inviate ad X raccomandata RR in cui dichiarate sotto Vs.
> responsabilità di non avere alcun possesso di Z marchingeni soggetti a
> canone, ma aggiungete che dimostrazione contraria spetta a X, restando voi
> disponibili a verifica ispettiva legalmente autorizzata, ma evidenziate che
> qualunque abuso in tal senso, come anche qualsiasi ulteriore insistenza di
> richieste accompagnata o meno da velate minacce o anche qualunque
> acquisizione illecita e/o non documentata di Vs. informazioni personali
> coperte da privacy verranno valutate in sede competente.
>
> Possedete un marchingeno Z soggetto a canone di cui già corrispondete ad X
> tassa di possesso, e desiderate liberarvene: idem come sopra, stessa
> procedura, stessa raccomandata RR, cambia solo la frase "dichiaro di non
> possedere" con la frase "dichiaro di non aver più in mio possesso". E'
> sufficente, garantito!
>
> Avete appena acquistato un apparecchio Z, o ve lo hanno regalato, o l'avete
> vinto alla lotteria, insomma ne siete in possesso, ma non lo avete ancora
> regolarizzato, ad esempio perchè non avete fatto in tempo in quanto ve lo ha
> da poco regalato un altro soggetto regolarmente abbonato, come vostro nonno
> non convivente. Ma intanto, come rapace falco, il sinistro ispettore
> dell'Ente X vi piomba alla porta tra capo e collo: prima di concedere
> l'accesso alla Vs. abitazione verificate bene l'attendibilità delle
> credenziali di chi pretende di ispezionarvi attraverso l'apertura parziale
> della porta bloccata dal catenino, e se la cosa non appare più che legittima
> o anche se solo la qualifica con cui si è definito inizialmente il
> personaggio non corrisponde perfettamente alle credenziali esibite, chiamate
> direttamente la Polizia (113) denunciando tentata violazione di domicilio e/o
> millantato credito, ma se non ve la sentite semplicemente chiudete la porta
> contestando l'intervento;
> eventualmente il 113 lo farete se il sinistro figuro prende a calci la
> porta... Se invece tutto è legalmente autorizzato (ed è improbabile), prima
> di togliere la catena dichiarate spontaneamente a priori il regalo,
> l'acquisto, la vincita o altro di X come cosa appena avvenuta, ed esternate
> la vostra intenzione di regolarizzarne il possesso appena possibile:
> l'ispettore di X ha raggiunto il suo scopo (assicurarsi la provvigione per
> acquisizione nuovo abbonato), vi farà firmare tale dichiarazione, vi
> consegnerà il modulo di abbonamento standard non maggiorato, e vedrete che si
> placherà senza neppure entrare. Chiaramente anche il giorno dopo potreste
> decidere di buttar via l'apparecchio Z in questione, disgustati dalla qualità
> dei programmi trasmessi ...! In tal caso procedete come al punto precedente.
>
> Non dovrebbero esseci altre casistiche (l'ultima va opportunamente
> interpretata).
>
> ---------------------------------------
>
> Ovviamente, dopo aver ricevuto RR di ritorno relativa a raccomandata inviata
> ad X coi suddenti contenuti, potete permettervi di ignorare ulteriori
> comunicazioni; non state a mettere in campo altre sanguisughe per la
> soddisfazione di far zittire X, lasciate fare, siate superiori a queste
> beghe...
>
> Comunque è buona norma acquistare sempre Z in contanti, ed anche componenti
> isolati di Z, o comunque riconducibili a presenza di Z, in modo da non
> lasciar alcuna traccia dei Vs. acquisti; a meno che non vogliate divertirvi a
> mettere in crisi X, che vi piomberà addoso entro 6 mesi, e potete farlo
> accusando X di essere entrato in possesso di Vs. info coperte da privacy di
> cui non vi ha concesso preventiva documentazione di liceità e di
> identificazione delle fonti; ma sappiate che nel giro trascinate pure il
> punto vendita e la Vs. banca ... si sa benissimo chi è coinvolto. Però
> ripeto, certe soddisfazioni costano quintali di sanguisughe, secondo me molto
> di più della contropartita del sottile piacere che potreste gustare dopo anni.
>
> Date retta a me, siate superiori a queste beghe, e godetevi le Vs. risorse.
> In santa pace.
>
> A buon intenditor poche parole.
>
> Bye.
> -----------------------------------------------------------
> Modificato dall' autore il 01 giugno 2006 19.54
> -----------------------------------------------------------
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]