[ http://issues.apache.org/jira/browse/LUCENE-550?page=all ]

Karl Wettin updated LUCENE-550:
-------------------------------

    Attachment: lucene2-karl_20060722.tar.gz

New code. More backwards compatible. Just a very few changes required to the 
Lucene core. 

Now with test cases from distribution, but only search/* has been ported. Fails 
some (11 of 172) score and RMI related tests that I can not explain. Could 
really need some help with that

Except for that this seems to work really great now. I've been running this in 
a live environment for a few hours (some hundred thousand user queries) and it 
is *really* fast.


Output from failing tests:


junit.framework.AssertionFailedError: expected:<3> but was:<0>
        at 
org.apache.lucene.search.TestPhraseQuery.testSlopScoring(TestPhraseQuery.java:298)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:32)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)


junit.framework.AssertionFailedError: Using 10 documents per index:
        at 
org.apache.lucene.search.TestMultiSearcher.testNormalization(TestMultiSearcher.java:247)
        at 
org.apache.lucene.search.TestMultiSearcher.testNormalization10(TestMultiSearcher.java:220)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:32)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)

------- testSimpleEqualScores1 -------
#0: 1.000000000 - d3
#1: 1.000000000 - d4
#2: 0.500000000 - d1
#3: 0.500000000 - d2

junit.framework.AssertionFailedError: score #2 is not the same expected:<1.0> 
but was:<0.5>
        at 
org.apache.lucene.search.TestDisjunctionMaxQuery.testSimpleEqualScores1(TestDisjunctionMaxQuery.java:142)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:32)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)

------- testSimpleEqualScores2 -------
#0: 1.000000000 - d2
#1: 0.500000000 - d1
#2: 0.500000000 - d4

junit.framework.AssertionFailedError: score #1 is not the same expected:<1.0> 
but was:<0.5>
        at 
org.apache.lucene.search.TestDisjunctionMaxQuery.testSimpleEqualScores2(TestDisjunctionMaxQuery.java:166)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:32)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)

------- testSimpleEqualScores3 -------
#0: 1.000000000 - d2
#1: 1.000000000 - d3
#2: 1.000000000 - d4
#3: 0.500000000 - d1

junit.framework.AssertionFailedError: score #3 is not the same expected:<1.0> 
but was:<0.5>
        at 
org.apache.lucene.search.TestDisjunctionMaxQuery.testSimpleEqualScores3(TestDisjunctionMaxQuery.java:191)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:32)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)


junit.framework.AssertionFailedError: A,B,D, only B in range expected:<1> but 
was:<2>
        at 
org.apache.lucene.search.TestRangeQuery.testExclusive(TestRangeQuery.java:39)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:32)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)


junit.framework.AssertionFailedError: A,B,D - A and B in range expected:<2> but 
was:<5>
        at 
org.apache.lucene.search.TestRangeQuery.testInclusive(TestRangeQuery.java:63)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:32)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)


junit.framework.AssertionFailedError: Using 10 documents per index:
        at 
org.apache.lucene.search.TestMultiSearcher.testNormalization(TestMultiSearcher.java:247)
        at 
org.apache.lucene.search.TestMultiSearcher.testNormalization10(TestMultiSearcher.java:220)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:32)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)


java.rmi.server.ExportException: internal error: ObjID already in use
        at sun.rmi.transport.ObjectTable.putTarget(ObjectTable.java:197)
        at sun.rmi.transport.Transport.exportObject(Transport.java:90)
        at 
sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:231)
        at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:398)
        at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:131)
        at 
sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:195)
        at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:107)
        at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:93)
        at 
java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:198)
        at org.apache.lucene.search.TestSort.startServer(TestSort.java:704)
        at org.apache.lucene.search.TestSort.getRemote(TestSort.java:689)
        at org.apache.lucene.search.TestSort.testRemoteSort(TestSort.java:410)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:32)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)


java.rmi.server.ExportException: internal error: ObjID already in use
        at sun.rmi.transport.ObjectTable.putTarget(ObjectTable.java:197)
        at sun.rmi.transport.Transport.exportObject(Transport.java:90)
        at 
sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:231)
        at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:398)
        at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:131)
        at 
sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:195)
        at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:107)
        at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:93)
        at 
java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:198)
        at org.apache.lucene.search.TestSort.startServer(TestSort.java:704)
        at org.apache.lucene.search.TestSort.getRemote(TestSort.java:689)
        at 
org.apache.lucene.search.TestSort.testRemoteCustomSort(TestSort.java:417)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:32)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)


java.rmi.server.ExportException: internal error: ObjID already in use
        at sun.rmi.transport.ObjectTable.putTarget(ObjectTable.java:197)
        at sun.rmi.transport.Transport.exportObject(Transport.java:90)
        at 
sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:231)
        at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:398)
        at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:131)
        at 
sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:195)
        at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:107)
        at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:93)
        at 
java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:198)
        at org.apache.lucene.search.TestSort.startServer(TestSort.java:704)
        at org.apache.lucene.search.TestSort.getRemote(TestSort.java:689)
        at 
org.apache.lucene.search.TestSort.testNormalizedScores(TestSort.java:440)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:32)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)


> InstanciatedIndex - faster but memory consuming index
> -----------------------------------------------------
>
>                 Key: LUCENE-550
>                 URL: http://issues.apache.org/jira/browse/LUCENE-550
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: Store
>    Affects Versions: 1.9
>            Reporter: Karl Wettin
>         Attachments: class_diagram.png, class_diagram.png, 
> instanciated_20060527.tar, InstanciatedIndexTermEnum.java, 
> lucene.1.9-karl1.jpg, lucene2-karl_20060722.tar.gz
>
>
> After fixing the bugs, it's now 4.5 -> 5 times the speed. This is true for 
> both at index and query time. Sorry if I got your hopes up too much. There 
> are still things to be done though. Might not have time to do anything with 
> this until next month, so here is the code if anyone wants a peek.
> Not good enough for Jira yet, but if someone wants to fool around with it, 
> here it is. The implementation passes a TermEnum -> TermDocs -> Fields -> 
> TermVector comparation against the same data in a Directory.
> When it comes to features, offsets don't exists and positions are stored ugly 
> and has bugs.
> You might notice that norms are float[] and not byte[]. That is me who 
> refactored it to see if it would do any good. Bit shifting don't take many 
> ticks, so I might just revert that.
> I belive the code is quite self explaining.
> InstanciatedIndex ii = ..
> ii.new InstanciatedIndexReader();
> ii.addDocument(s).. replace IndexWriter for now.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to