Ok great, I'll look into this error and see if I can locate that bug. 2009/12/21 Sebastian Stober <sto...@ovgu.de>: > Hello Mattias, > > thank you for your quick reply. The new behavior you describe looks like > what I would expect. (I think fulltext queries should generally be > treated case-insensitive) > > The original junit-test now completes without error. However, there > still seems to be something odd. > > If I modify the setup code (before I run any test queries) like this, > the LuceneFulltextIndexService is messed up: > > // using LuceneFulltextIndexService > > andy.setProperty( "name", "Andy Wachowski" ); > andy.setProperty( "title", "Director" ); > // larry.setProperty( "name", "Larry Wachowski" ); //old > larry.setProperty( "name", "Andy Wachowski" ); //new(deliberately wrong) > larry.setProperty( "title", "Director" ); > index.index( andy, "name", andy.getProperty( "name" ) ); > index.index( andy, "title", andy.getProperty( "title" ) ); > index.index( larry, "name", larry.getProperty( "name" ) ); > index.index( larry, "title", larry.getProperty( "title" ) ); > > // new: fixing the name of larry > index.removeIndex( larry, "name", larry.getProperty( "name" ) ); > larry.setProperty( "name", "Larry Wachowski" ); > index.index( larry, "name", larry.getProperty( "name" ) ); > > // start the test... > index.getNodes( "name", "wachowski" ) > now returns only larry instead of both nodes. > > Any ideas? It looks like the index entry for andy is removed as well. > > Cheers, > Sebastian > >> Message: 4 >> Date: Fri, 18 Dec 2009 10:16:33 +0100 >> From: Mattias Persson <matt...@neotechnology.com> >> Subject: Re: [Neo] Strange behavior of LuceneFulltextIndexService >> To: Neo user discussions <user@lists.neo4j.org> >> Message-ID: >> <acdd47330912180116l7d5fe082g2322f45712906...@mail.gmail.com> >> Content-Type: text/plain; charset=UTF-8 >> >> I've made some changes to make LuceneFulltextIndexService and >> LuceneFulltextQueryIndexService behave more natural. So this is the >> new (and better) deal (copied from the javadoc, from your example!): >> >> LuceneFulltextIndexService: >> /** >> * Since this is a "fulltext" index it changes the contract of this >> method >> * slightly. It treats the {...@code value} more like a query in than >> you can >> * query for individual words in your indexed values. >> * >> * So if you've indexed node (1) with value "Andy Wachowski" and node (2) >> * with "Larry Wachowski" you can expect this behaviour if you query for: >> * >> * o "andy" --> (1) >> * o "Andy" --> (1) >> * o "wachowski" --> (1), (2) >> * o "andy larry" --> >> * o "larry Wachowski" --> (2) >> * o "wachowski Andy" --> (1) >> */ >> >> LuceneFulltextQueryIndexService: >> /** >> * Here the {...@code value} is treated as a lucene query, >> * http://lucene.apache.org/java/2_9_1/queryparsersyntax.html >> * >> * So if you've indexed node (1) with value "Andy Wachowski" and node (2) >> * with "Larry Wachowski" you can expect this behaviour if you query for: >> * >> * o "andy" --> (1) >> * o "Andy" --> (1) >> * o "wachowski" --> (1), (2) >> * o "andy AND larry" --> >> * o "andy OR larry" --> (1), (2) >> * o "larry Wachowski" --> (1), (2) // lucene's default operator is OR >> * >> * The default AND/OR behaviour can be changed by overriding >> * {...@link #getDefaultQueryOperator(String, Object)}. >> */ >> >> >> Does this make more sense? >> >> 2009/12/17 Mattias Persson <matt...@neotechnology.com>: >>> That is indeed a behaviour which needs to be straightened out, I see >>> that it doesn't behave as expected all the time. I'll look into this >>> as soon as possible. >>> >>> Btw. is it a good idea to have LuceneFulltextIndexService and >>> LuceneFulltextQueryIndexService be case-insensitive, should it be >>> configurable or would it be nice with case-sensitivity instead (so >>> that you'd have to run .toLowerCase(), or something, on your strings >>> and queries to get such behaviour)? >>> >>> 2009/12/17 Sebastian Stober <sto...@ovgu.de>: >>>> Hello, >>>> >>>> I ran into some strange behavior of the LuceneFulltextIndexService in >>>> the application I am building. So I put together a junit test based on >>>> the example from >>>> http://wiki.neo4j.org/content/Indexing_with_IndexService#Wachowski_brothers_example >>>> >>>> Here's what I found out using 0.9-SNAPSHOT of index-util (version 0.8 >>>> wasn't any better): >>>> >>>> >> snip > > > > _______________________________________________ > Neo mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user >
-- Mattias Persson, [matt...@neotechnology.com] Neo Technology, www.neotechnology.com _______________________________________________ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user