lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Svensson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENENET-556) Search on several terms returns invalid data
Date Tue, 17 Nov 2015 07:45:11 GMT

    [ https://issues.apache.org/jira/browse/LUCENENET-556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15008213#comment-15008213
] 

Simon Svensson commented on LUCENENET-556:
------------------------------------------

There's nothing in your example code that says that organization=0 is an invalid value. This
could be unexpected data from a previous indexing attempt.

Can you give us a simple unit-test that reproduces the issue? You can use a RAMDirectory to
avoid a dependency on the file system, index a few hardcoded documents, and hardcode a query
without using the QueryParser, to simplify the code.

> Search on several terms returns invalid data
> --------------------------------------------
>
>                 Key: LUCENENET-556
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-556
>             Project: Lucene.Net
>          Issue Type: Bug
>    Affects Versions: Lucene.Net 3.0.3
>         Environment: Windows 10 x64, .NET 4.5.2
>            Reporter: Popov Egor
>            Priority: Critical
>         Attachments: RestChild.7z
>
>
> We have Index on 3 fields:
> map.Key(p => p.ChildId);
> map.Property(p => p.ChildId).NotAnalyzed().Stored();
> map.Property(p => p.Organization).AnalyzeWith(new KeywordAnalyzer()).Stored();
> map.Property(p => p.YearOfRest).AnalyzeWith(new KeywordAnalyzer()).Stored();
> And we make simple query:
> Lucene.Net.Search.IndexSearcher searcher = new Lucene.Net.Search.IndexSearcher(dir);
> BooleanQuery booleanQuery = new BooleanQuery();
> var analyzer = new StandardAnalyzer(Version.LUCENE_30);
> var query = new QueryParser(Lucene.Net.Util.Version.LUCENE_30, "Organization", analyzer).Parse("199");
> var query2 = new QueryParser(Lucene.Net.Util.Version.LUCENE_30, "YearOfRest", analyzer).Parse("1");
> booleanQuery.Add(query , Occur.MUST);
> booleanQuery.Add(query2 , Occur.MUST);
> var doc = searcher.Search(booleanQuery, 20);
> doc has invalid data(docs with organization = 0), we checked query in Luke program, and
everything work fine. Sometimes, program crashes with IndexOutOfRangeException somewhere in
scorer doc has Id over bigger than actual in index.
> Querying on one field works fine.
> Can attach or send index file in 50 Mb



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message