You are right,. I think it's better to implement it using DB. But my project is build on lucene and i think it would be better if i could find a way to sovle this inside lucene. But as you have mentioned updating a lucene index is not a easy nor fast job. you have to rebuild the term table as it is sorted, . also you need to make sure this is transactional, that's the hardest part. Or i think may be i could just make direct operation on lucene index (mainly .tis file), insert a new tag-term may cost some time but add a doc after that does not. Still how to make it transactional bothered me a lot .
2006/11/23, Chris Lamprecht <[EMAIL PROTECTED]>:
Sure.. using Lucene you could have a field called "labels" (or "tags", as everyone except google calls them), and just add a bunch of keyword field values to the field, one for each tag. The tricky part might be doing this quickly -- right when the user adds a tag, updating the lucene index -- if your project requires this. Or if you're using a database, it might make sense to just use the database instead of lucene for this particular feature (DB updates are typically more straightforward than "updating" a lucene document). -chris On 11/22/06, Jin Yiqing <[EMAIL PROTECTED]> wrote: > > Hi,all > Maybe lots of u guys have used google mail. i noticed google mail has > a > good feature called labels. you could select a mail then just put labels > on > it by select <more actions>-><apply label>. The labels could be created > by > users dynamicly . Then you could list your mails just by these labels, > very > fast. And one mail could have more than one label. > > I always wondering how google did this. considering the mail amont > this > must be a search technology. Can Lucene also implement the same function > by > now? > > i have thought about this but got no solution. :( So i wrote this > mail, if anyone have good suggestions i'll appreciate it very much. > > Richie > >