Re: Sql nested set from dictionary

Ryan Heath <[email protected]>
Newsgroups gmane.comp.windows.off-topic
Message-ID <[email protected]>
Hmm,

We use:

analyzer = new StandardAnalyzer(LVersion.LUCENE_CURRENT, STOP_WORDS_SET);
indexSearcher = new IndexSearcher(FSDirectory.Open(directoryInfoIndex),
true);

Those are kept alive with static, only after rebuilding the index we close
the indexSearcher and reopen it again.

I do not know what MMapDirectory is.
I also not a Lucene guru, we tweaked it untill we got the desired
performance :)

// Ryan

On Fri, Jun 25, 2010 at 4:53 PM, Adrian Vintu <adrianvintu-/[email protected]> wrote:

>
>
> - Indexing -
>
> w.optimize - nope
> w.close - yes
>
> - Searching -
>
> if i keep the IndexSearcher i get some "still open or not opened
> exception". will check later.
>
> the following
>
>   StandardAnalyzer analyzer = new StandardAnalyzer( Version.LUCENE_ 29);
>   Directory index = new MMapDirectory( new File("lucene_lexems"));
> are static - lazy loaded.
>
> well, the whole index folder is 8 megs... on the desktop it works great,
> but on the mobile it takes 1 second...
>
> - i am as new as possible with Lucene, so please forgive my ignorance :) -
>
> thank you,
> Adrian
>
> ------------------------------
> *Von:* Ryan Heath <[email protected]>
> *An:* [email protected]
> *Gesendet:* Freitag, den 25. Juni 2010, 16:36:32 Uhr
>
> *Betreff:* Re: [OT] Sql nested set from dictionary
>
>
>
> define "slow-ish" ...
>
> We have results ~10ms for an index that is 2 GB in size.
>
> I think you miss a w.Optimize() and w.Close() after the documents are
> added?
> We also keep the IndexSearcher around, its threadsafe.
>
> HTH
> // Ryan
>
> On Fri, Jun 25, 2010 at 4:23 PM, Adrian Vintu <adrianvintu@ yahoo.com<adrianvintu-/[email protected]>
> > wrote:
>
>>
>>
>> Hi Ryan,
>>
>> After much testing and playing around with different solutions, I decided
>> to choose Lucene :)
>>
>> It works nice, but I would really like to get some extra performance -
>> it's still slow-ish on the phones.
>>
>> Maybe you can give me some tips.
>>
>> Here's what I have for now.
>>
>> 1. ~130.000 words to index
>>
>> 2. indexing is as follows
>>   StandardAnalyzer analyzer = new StandardAnalyzer( Version.LUCENE_ 29);
>>   Directory index = new MMapDirectory( new File("lucene_lexems"));
>>   IndexWriter w = new IndexWriter( index, analyzer, true, IndexWriter.
>> MaxFieldLength. UNLIMITED) ;
>>
>>   for 130.000 times do
>>         Document doc = new Document();
>>         doc.add(new Field("title", value, Field.Store. YES, Field.Index.
>> ANALYZED) );
>>         w.addDocument( doc);
>>   end for
>>
>> 3. getting the results
>>   String querystr = searched_word + "*";
>>   Query q = new QueryParser( Version.LUCENE_ 29, "title", analyzer).parse(
>> querystr) ;
>>   int hitsPerPage = 110;
>>   IndexSearcher searcher = new IndexSearcher( index, true);
>>   TopDocs topDocs = searcher.search( q, hitsPerPage) ;
>>   ScoreDoc[] hits = topDocs.scoreDocs;
>>
>> I would have tried Snowball but I cannot find the sources and I also don't
>> think it's much help...
>>
>> Any help would be greatly appreciated :)
>>
>> Thank you,
>> Adrian
>>
>>
>> ------------------------------
>> *Von:* Ryan Heath <ryan.Q.heath@ gmail.com <[email protected]>>
>>
>> *An:* win_tech_off_ topic@yahoogroup s.com<[email protected]>
>> *Gesendet:* Mittwoch, den 16. Juni 2010, 17:23:01 Uhr
>> *Betreff:* Re: [OT] Sql nested set from dictionary
>>
>>
>>
>> Hi,
>>
>> Maybe a Lucene index is more appropriate  for your problem?
>>
>> We have recently moved from sqlserver fultext search to a lucene index and
>> we will never look back ;)
>>
>> http://lucene. apache.org/ lucene.net/<http://lucene.apache.org/lucene.net/>
>>
>> // Ryan
>>
>> On Wed, Jun 16, 2010 at 2:53 PM, Adrian Vintu <adrianvintu@ yahoo.com<adrianvintu-/[email protected]>
>> > wrote:
>>
>>>
>>>
>>> Hi all,
>>>
>>> I have a read-only dictionary of ~2 million words.
>>>
>>> They are now stored in an Sqlite database like this
>>>
>>> Table WORD
>>> ID WORD     POINTER_TO_DATA
>>>
>>> 1  bla      207
>>> 2  next     135
>>> 3  example  1234
>>> 4  other    3457
>>> ...
>>>
>>> Using this non-tree way of storing the words kills my system when doing a
>>> SELECT LIKE 'word%' - think mobile.
>>>
>>> I would need a script(SQL, Java, C#, Python, etc) to create a tree out of
>>> the structure, or even better, a nested set like here http://dev.mysql.
>>> com/tech- resources/ articles/ hierarchical- data.html<http://dev.mysql.com/tech-resources/articles/hierarchical-data.html>
>>>
>>> Any help would be greatly appreciated.
>>>
>>> (I have googled around, but I am not even sure what the keywords are...)
>>>
>>> Thank you,
>>> Best regards,
>>> Adrian Vintu
>>>
>>>
>>
>   
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.