Board index » delphi » Re: need to implement full text search

Re: need to implement full text search


2007-09-14 10:20:24 PM
delphi55
Quote
Thanks, but is it simple to implement?
In my opinion?, yes.
Lucene by itself is very well documented and tested, and very powerfull
- and fast. MUTIS use the same syntax and code of lucene so any example
of Lucene 1.4 must work.
 
 

Re: need to implement full text search

Contact Deven. Last year he sent me a new package for D2006 (even one
update sometime later). I didn't contact him for Delphi 2007 packages
because D2006 package works just fine.
On 13 Sep 2007 20:09:39 -0700, "Q Correll" <XXXX@XXXXX.COM>
writes:
Quote
Hannes,

| Not as separate packages I am afraid. mine are bound into my build
| environment.

Not a problem.
 

Re: need to implement full text search

Zoran,
| Contact Deven. Last year he sent me a new package for D2006 (even one
| update sometime later). I didn't contact him for Delphi 2007 packages
| because D2006 package works just fine.
Thanks. I will do that.
I "owe" him a cup of coffee anyway. He lives in Palo Alto, just a
couple of cities North of me. that is assuming that he hasn't moved in
the last couple of years. <g>
--
Q
09/14/2007 10:30:33
XanaNews Version 1.17.5.7 [Q's salutation mod]
 

Re: need to implement full text search

Ralf Junker,
Thank you very much for the detailed info indeeded! I will have a try, we
already use Sqlite 3 and the delphi wrapper MKSqlite to some data, the
speed is statisified.
BTW, what's the best DB administration program for sqlite 3 DB? free is
better :)
"Ralf Junker - www.yunqa.de/delphi/" <XXXX@XXXXX.COM>wrote in
message news:XXXX@XXXXX.COM...
Quote
These are some of the advantages of SQLite's full text search (FTS) over
your
approach:

1. You can simplify your database structure:

You can put all keywords into a single record. You will no longer have to
take
care of referential integrity. The FTS index is updated automatically each
time
you insert or change records in the FTS table, you do not have to worry
about
this at all.

2. FTS supports advanced search queries:

You can OR terms (apples OR pears), exclude terms (apples -pears), perform
phrase searches ("apples mixed with pears"), and prefix searches (apple*),
which
will find apple as well as apples.

3. Combine FTS with other SQL

SQLite FTS allows to integrate full text search queries into ordinary SQL.
This
allows to filter objects by date, or other properties, just by writing a
new SQL
query or creating a new view.

4. You can create your own tokenizer:

If you require WideString or StoppWord support, or need to exclude certain
characters from the full text index, you can completely customize the FTS
tokenizer. A porter stemmer tokenizer is part of the standard
distribution.
Searching for "run" it fins "run", "runs", "running", etc.

Delphi Implementation

The free DISQLite3 Personal edition contains the SQLite3 database engine
as well
as all FTS modules: FTS1, FTS2, and FTS3. Caution: Only use FTS3 or later.
Do
NOT use FTS1 or FTS2, they contain a design flaw which can lead to
database
corruption.

Compile the full text search demo project for a first impression of the
performance and usage benefits which your application will gain from using
DISQLite3 and full text search!

Ralf

"Edwin" <edwinyeah@(nospam)gmail.com>writes:

>Really? good!
>
>But I still have one thing not clear, I want to creat a table in SQLite
>with
>structure below:
>keyword, file_path, object_id
>
>and when searching we use a SQL like:
>select file_path, object_id from mytable where keyword like '%akeyword%'
>
>what's the advantage of using the full-text API instead of the
>aforementioned approach? Thanks.

---
The Delphi Inspiration
www.yunqa.de/delphi/

 

Re: need to implement full text search

"Edwin" wrote
Quote

BTW, what's the best DB administration program for sqlite 3 DB? free is
better :)

Again, IMHO, it is their SQLiteSpy, free :)
www.yunqa.de/delphi/doku.php/products/sqlitespy/index
Beta.
 

Re: need to implement full text search

Beta,
Thanks.
I tried it these days, but I found that most of the task need to be done by
SQL...
Finally I chosen another free one--SQLite Expert persional ver. (pro. ver is
commercial )
"Beta Xiong" <XXXX@XXXXX.COM>writes
Quote
"Edwin" wrote
>
>BTW, what's the best DB administration program for sqlite 3 DB? free is
>better :)
>

Again, IMHO, it is their SQLiteSpy, free :)
www.yunqa.de/delphi/doku.php/products/sqlitespy/index


Beta.