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: java-user@lucene.apache.org
> 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]

Reply via email to