OK. I'd still like to see some evidence, but never mind. Next suggestion is the old standby - cut the code down to the absolute minimum to demonstrate the problem and post it here. I know you've already posted some code, but maybe not all of it, and definitely not cut down to the absolute minimum.
-- Ian. On Thu, May 21, 2009 at 10:48 PM, Marco Lazzara <marco.lazz...@gmail.com> wrote: > _I strongly suggest that you use a full path name and/or provide some > evidence that your readers and writers are using the same directory > and thus lucene index. > _ > I try a full path like home/marco/RdfIndexLucene,even > media/disk/users/fratelli/RDFIndexLucene.But nothing is changed. > > MARCOLAZZARA > _ > > _ >> Its been a few days, and we haven't heard back about this issue, can >> we assume that you fixed it via using fully qualified paths then? >> >> Matt >> >> Ian Lea wrote: >>> Marco >>> >>> >>> You haven't answered Matt's question about where you are running it >>> from. Tomcat's default directory may well not be the same as yours. >>> I strongly suggest that you use a full path name and/or provide some >>> evidence that your readers and writers are using the same directory >>> and thus lucene index. >>> >>> >>> -- >>> Ian. >>> >>> >>> On Wed, May 20, 2009 at 9:59 AM, Marco Lazzara >>> <marco.lazz...@gmail.com> wrote: >>> >>>> I've posted the indexing part,but I don't use this in my app.After I >>>> create the index,I put that in a folder like /home/marco/RDFIndexLucece >>>> and when I run the query I'm only searching (and not indexing). >>>> >>>> String[] fieldsearch = new String[] {"name", "synonyms", "propIn"}; >>>> //RDFinder rdfind = new RDFinder("RDFIndexLucene/",fieldsearch); >>>> TreeMap<Integer, ArrayList<String>> paths; >>>> try { >>>> this.paths = this.rdfind.Search(text, "path"); >>>> } catch (ParseException e1) { >>>> e1.printStackTrace(); >>>> } catch (IOException e1) { >>>> e1.printStackTrace(); >>>> } >>>> >>>> Marco Lazzara >>>> >>>>> Sorry, anyhow looking over this quickly here's a summarization of what >>>>> I see: >>>>> >>>>> You have documents in your index that look like the following: >>>>> >>>>> name which is indexed and stored. >>>>> synonyms which are indexed and stored >>>>> path, which is stored but not indexed >>>>> propin, which is stored and indexed >>>>> propinnum, which is stored but not indexed >>>>> and ... vicinity I guess which is stored but not indexed >>>>> >>>>> For an analyzer you are using Standard analyzer (which considering all >>>>> the Italian? is an interesting choice.) >>>>> >>>>> And you are opening your index using FSDirectory, in what appears to >>>>> be a by reference fashion (You don't have a fully qualified path to >>>>> where your index is, you are ASSUMING that its in the same directory >>>>> as this code, unless FSDirectory is not implemented as I think it is.) >>>>> >>>>> Now can I see the consumer code? Specifically the part where you are >>>>> opening the index/constructing your queries? >>>>> >>>>> I'm betting what's going on here is you are deploying this as a war >>>>> file into tomcat, and its just not really finding the index as a >>>>> result of how the war file is getting deployed, but looking more >>>>> closely at the source code should reveal if my suspicion is correct >>>>> here. >>>>> >>>>> Also runtime wise, when you run your standalone app, where >>>>> specifically in your directory structure are you running it from? >>>>> Cause if you are opening your index reader/searcher in the same way as >>>>> you are creating your writer here, I'm pretty darn certain that will >>>>> cause you problems. >>>>> >>>>> Matt >>>>> >>>>> >>>>> >>>>> Marco Lazzara wrote: >>>>> >>>>>> _Could you further post your Analyzer Setup/Query Building code from >>>>>> BOTH apps. _ >>>>>> >>>>>> there is only one code.It is the same for web and for standalone. >>>>>> And it is exactly the real problem!!the code is the same,libraries >>>>>> are >>>>>> the same,query index etc etc. are the same. >>>>>> >>>>>> This is the class that create index >>>>>> >>>>>> >>>>>> public class AlternativeRDFIndexing { >>>>>> private Analyzer analyzer; >>>>>> private Directory directory; >>>>>> private IndexWriter iwriter; >>>>>> private WordNetSynonymEngine wns; >>>>>> private AlternativeResourceAnalysis rs; >>>>>> public ArrayList<String> commonnodes; >>>>>> //private RDFinder rdfind = new RDFinder("RDFIndexLucene/",new >>>>>> String[] {"name"}); >>>>>> // public boolean Exists(String node) throws ParseException, >>>>>> IOException{ >>>>>> // // return rdfind.Exists(node); >>>>>> // } >>>>>> public AlternativeRDFIndexing(String inputfilename) throws >>>>>> IOException, ParseException{ >>>>>> commonnodes = new ArrayList<String>(); >>>>>> // bisogna istanziare un oggetto per fare analisi sul >>>>>> documento rdf >>>>>> rs = new AlternativeResourceAnalysis(inputfilename); >>>>>> >>>>>> ArrayList<String> nodelist = rs.getResources(); >>>>>> int nodesize = nodelist.size(); >>>>>> ArrayList<String> sourcelist = rs.getsource(); >>>>>> int sourcesize = sourcelist.size(); >>>>>> //sinonimi >>>>>> wns = new WordNetSynonymEngine("sinonimi/"); >>>>>> //creazione di un analyzer standard >>>>>> analyzer = new StandardAnalyzer(); >>>>>> >>>>>> //Memorizza l'indice in RAM: >>>>>> //Directory directory = new RAMDirector(); >>>>>> //Memorizza l'indice su file >>>>>> directory = >>>>>> FSDirectory.getDirectory("RDFIndexLucene/"); >>>>>> //Creazione istanza per la scrittura dell'indice >>>>>> //Tale istanza viene fornita di analyzer, di un boolean per >>>>>> indicare se ricreare o meno da zero >>>>>> //la struttura e di una dimensione massima (o infinita >>>>>> IndexWriter.MaxFieldLength.UNLIMITED) >>>>>> iwriter = new IndexWriter(directory, analyzer, true, new >>>>>> IndexWriter.MaxFieldLength(25000)); >>>>>> //costruiamo un indice con solo n documenti: un >>>>>> documento per nodo >>>>>> for (int i = 0; i < nodesize; i++){ >>>>>> Document doc = new Document(); >>>>>> //creazione dei vari campi >>>>>> // ogni documento avrˆ >>>>>> // un campo name: nome del nodo >>>>>> // indicazione di memorizzazione(Store.YES) e >>>>>> indicizzazione >>>>>> con analyzer(ANALYZED) >>>>>> String node = nodelist.get(i); >>>>>> //if (sourcelist.contains(node)) break; >>>>>> //if (rdfind.Exists(node)) >>>>>> commonnodes.add(node); >>>>>> Field field = new Field("name", node, >>>>>> Field.Store.YES,Field.Index.ANALYZED); >>>>>> //Aggiunta campo al documento >>>>>> doc.add(field); >>>>>> //Aggiungo i sinonimi >>>>>> String[] nodesynonyms = wns.getSynonyms(node); >>>>>> for (int is = 0; is < nodesynonyms.length; is++) { >>>>>> field = new Field("synonyms", >>>>>> nodesynonyms[is], >>>>>> Field.Store.YES,Field.Index.ANALYZED); >>>>>> //Aggiunta campo al documento >>>>>> doc.add(field); >>>>>> } >>>>>> // uno o piu campi path_i: path minimali dalle >>>>>> sorgenti al nodo >>>>>> // non indicizzati >>>>>> for (int j = 0; j < sourcesize; j++) { >>>>>> String source = sourcelist.get(j); >>>>>> ArrayList<LinkedList<String>> path = new >>>>>> ArrayList<LinkedList<String>>(); >>>>>> try{ >>>>>> if ((source.equals(node)) || >>>>>> (sourcelist.contains(node))){ >>>>>> field = new Field("path", "null", >>>>>> Field.Store.YES, >>>>>> Field.Index.NO); >>>>>> doc.add(field); >>>>>> } >>>>>> else{ >>>>>> path = rs.getPaths(source, node); >>>>>> for (int ii = 0; ii < path.size(); ii++) { >>>>>> String pp = rs.getPath(path.get(ii)); >>>>>> field = new Field("path", pp, >>>>>> Field.Store.YES, >>>>>> Field.Index.NO); >>>>>> doc.add(field); } >>>>>> } >>>>>> } >>>>>> catch (IllegalArgumentException e){ >>>>>> System.out.println("source: "+source+ " node: >>>>>> "+node); >>>>>> field = new Field("path", "null", Field.Store.YES, >>>>>> Field.Index.NO); >>>>>> doc.add(field); >>>>>> } >>>>>> } >>>>>> // proprietˆ entranti >>>>>> // indicizzati >>>>>> //versione con i sinonimi >>>>>> ArrayList<String> y = rs.getInProperty(node); >>>>>> if (y != null) { >>>>>> >>>>>> for (int j = 0; j < y.size(); j++) { >>>>>> String propin = y.get(j); >>>>>> field = new Field("propIn", propin, Field.Store.YES, >>>>>> Field.Index.ANALYZED); >>>>>> doc.add(field); >>>>>> String[] propinsynonyms = wns.getSynonyms(propin); >>>>>> for (int is = 0; is < propinsynonyms.length; >>>>>> is++) { >>>>>> field = new Field("propIn", >>>>>> propinsynonyms[is], >>>>>> Field.Store.YES,Field.Index.ANALYZED); >>>>>> //Aggiunta campo al documento >>>>>> doc.add(field); >>>>>> } >>>>>> } >>>>>> // un campo num_propIn: numero di proprietˆ >>>>>> entranti >>>>>> // non indicizzato >>>>>> String num_propIN = String.valueOf(y.size()); >>>>>> field = new Field("num_propIn", num_propIN, >>>>>> Field.Store.YES, >>>>>> Field.Index.NO); >>>>>> doc.add(field); >>>>>> } >>>>>> else { >>>>>> String num_propIN = String.valueOf(0); >>>>>> field = new Field("num_propIn", >>>>>> num_propIN, >>>>>> Field.Store.YES, Field.Index.NO); >>>>>> doc.add(field); >>>>>> } >>>>>> // i vicini del nodo >>>>>> ArrayList<String> v = rs.getVicini(node); >>>>>> if (v != null) { >>>>>> >>>>>> for (int j = 0; j < v.size(); j++) { >>>>>> String vicino = v.get(j); >>>>>> field = new Field("vicini", vicino, Field.Store.YES, >>>>>> Field.Index.ANALYZED); >>>>>> doc.add(field); } >>>>>> } >>>>>> //aggiunta documento >>>>>> all'indice >>>>>> iwriter.addDocument(doc); >>>>>> } >>>>>> iwriter.close(); >>>>>> directory.close(); >>>>>> } >>>>>> public int getNR(){ >>>>>> return rs.NumResource(); >>>>>> } >>>>>> >>>>>> >>>>>> } >>>>>> >>>>>> MARCO LAZZARA >>>>>> >>>>>> >>>>>> >>>>>>> Things that could help us immensely here. >>>>>>> >>>>>>> Can you post your indexReader/Searcher initialization code from your >>>>>>> standalone app, as well as your webapp. >>>>>>> >>>>>>> Could you further post your Analyzer Setup/Query Building code from >>>>>>> both apps. >>>>>>> >>>>>>> Could you further post the document creation code used at indexing >>>>>>> time? (Which analyzer, and which fields are indexed/stored) >>>>>>> >>>>>>> Give us this, and I'm pretty darn sure we can nail down your issue. >>>>>>> >>>>>>> Matt >>>>>>> >>>>>>> Ian Lea wrote: >>>>>>> >>>>>>> >>>>>>>>> ... >>>>>>>>> There are no exceptions.When I run the query a new shell is >>>>>>>>> displayed but >>>>>>>>> with no result. >>>>>>>>> >>>>>>>>> >>>>>>>> New shell? >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> _*Are you sure the index is the same - what do >>>>>>>>> IndexReader.maxDoc(), >>>>>>>>> numDocs() and getVersion() say, standalone >>>>>>>>> and in tomcat? >>>>>>>>> >>>>>>>>> *_What do you mean with this question?? >>>>>>>>> >>>>>>>>> >>>>>>>> IndexReader ir = ... >>>>>>>> System.out.printf("maxDoc=%s, ...", ir.maxDoc(), ...); >>>>>>>> >>>>>>>> and run in tomcat and standalone. To absolutely confirm you're >>>>>>>> looking at the same index, and it has documents, etc. >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Ian. >>>>>>>> >>>>>>>> --------------------------------------------------------------------- >>>>>>>> >>>>>>>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >>>>>>>> For additional commands, e-mail: java-user-h...@lucene.apache.org >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> --------------------------------------------------------------------- >>>>>>> >>>>>>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >>>>>>> For additional commands, e-mail: java-user-h...@lucene.apache.org >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> __________ Information from ESET NOD32 Antivirus, version of virus >>>>>>> signature database 4087 (20090519) __________ >>>>>>> >>>>>>> The message was checked by ESET NOD32 Antivirus. >>>>>>> >>>>>>> http://www.eset.com >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> __________ Information from ESET NOD32 Antivirus, version of virus >>>>>> signature database 4087 (20090519) __________ >>>>>> >>>>>> The message was checked by ESET NOD32 Antivirus. >>>>>> >>>>>> http://www.eset.com >>>>>> >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >>>>>> For additional commands, e-mail: java-user-h...@lucene.apache.org >>>>>> >>>>>> >>>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >>>>> For additional commands, e-mail: java-user-h...@lucene.apache.org >>>>> >>>>> >>>>> >>>>> >>>>> __________ Information from ESET NOD32 Antivirus, version of virus >>>>> signature database 4088 (20090519) __________ >>>>> >>>>> The message was checked by ESET NOD32 Antivirus. >>>>> >>>>> http://www.eset.com >>>>> >>>>> >>>>> >>>> >>>> __________ Information from ESET NOD32 Antivirus, version of virus >>>> signature database 4088 (20090519) __________ >>>> >>>> The message was checked by ESET NOD32 Antivirus. >>>> >>>> http://www.eset.com >>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >>>> For additional commands, e-mail: java-user-h...@lucene.apache.org >>>> >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >>> For additional commands, e-mail: java-user-h...@lucene.apache.org >>> >>> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >> For additional commands, e-mail: java-user-h...@lucene.apache.org >> >> >> >> >> __________ Information from ESET NOD32 Antivirus, version of virus >> signature database 4093 (20090521) __________ >> >> The message was checked by ESET NOD32 Antivirus. >> >> http://www.eset.com >> >> > > > > __________ Information from ESET NOD32 Antivirus, version of virus signature > database 4094 (20090521) __________ > > The message was checked by ESET NOD32 Antivirus. > > http://www.eset.com > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org