Re: trie
Karl Wettin <[email protected]> Wed, 27 Jul 2005 18:55:03 +0200
| Newsgroups | gmane.comp.java.ozone.user |
|---|---|
| Message-ID | <[email protected]> |
25 jul 2005 kl. 19.18 skrev Per Nyfelt:
>
> Very interesting. Have you looked at JXPath from apache commons?
Not yet. But I'm planning to add a layer of OCL (the object
constraint language) to enable the kind of queries you listed.
> How would you compare your efforts with Lucene which is quite a
> full featured
> indexing and search engine?
I don't aim to replace Lucene. This is more of a HashMap/HashSet-
replacement. A small implementation for small use. I've refactored
and optimized quite a bit since the last post.
{1}
[Query]-------->[Trie]-------><#>[TrieWriter]
|
|
| + rootNode
{1} |
V
+--->[Node](reference:Object)--- {0..1} ->[/
ReferenceMetaData/]
{0..*} | |
+children | |
+------+
Here is some output from my 1.5GHz Powerbook G4 768MB using a case
insensitive index:
import all java files recursive of /Users/kalle/projects
Time spent: 0ms since start.
files imported. total size: 7988k.
Time spent: 2344ms since start.
trie populated. memory in use by trie 27M, or 3.585573 bytes per 1
byte of index data.
Time spent: 11416ms since start, 9072ms since touched.
query trie with ('to?o' OR ('log*' NOT 'warning*')))
Time spent: 11448ms since start, 32ms since touched.
gathered 396 results.
Time spent: 11514ms since start, 66ms since touched.
/Users/kalle/projects/ozone/ozone/modules/xml/dom/src/org/ozoneDB/xml/
dom/DocumentImpl.java
occurances in hit: 1, path in index: 'logging' file: /Users/kalle/
projects/ozone/ozone/modules/xml/dom/src/org/ozoneDB/xml/dom/
DocumentImpl.java
occurances in hit: 2, path in index: 'todo' file: /Users/kalle/
projects/ozone/ozone/modules/xml/dom4j/src/org/ozoneDB/xml/dom4j/io/
O3SAXReader.java
occurances in hit: 18, path in index: 'log' file: /Users/kalle/
projects/ozone/ozone/server/samples/OO1/CattellImpl.java
occurances in hit: 7, path in index: 'logmessage' file: /Users/kalle/
projects/ozone/ozone/server/samples/OO1/CattellImpl.java
occurances in hit: 9, path in index: 'logtime' file: /Users/kalle/
projects/ozone/ozone/server/samples/OO1/CattellImpl.java
occurances in hit: 1, path in index: 'todo' file: /Users/kalle/
projects/ozone/ozone/modules/xml/dom/src/org/xmldb/api/sdk/modules/
SetContentHandler.java
occurances in hit: 1, path in index: 'todo' file: /Users/kalle/
projects/ozone/ozone/modules/xml/dom4j/src/test/dom4j/datatype/
TestDataTypes.java
occurances in hit: 3, path in index: 'todo' file: /Users/kalle/
projects/ozone/ozone/server/src/org/ozoneDB/ExternalDatabase.java
--
kalle
trie.tar.gz
(application/x-gzip, 20 KB) - not displayed