Help coderanch get a
new server
by contributing to the fundraiser
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Search and New messages brainstorming...

 
Ranch Hand
Posts: 17424
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi there Rafael,

In my private* forum implementation, I've started with some implementation details common to all forums and I was wondering how JForum implements it and how, as you have more experience with this kind of software.

.- Regarding search... I just started playing with Lucene, and I might end up using it. I seem to recall JForum using its own scheme, tokenizing messages and indexing them by words. Is that the case? Did you consider using something like Lucene or did you drop it for some specific reason? Anybody has good/bad experiences with Lucene that he's willing to share? So far it seems very easy to use, but just in case there's a catch I'm not aware of...

.- Regarding "new messages since your last visit"... I'm still undecided on how to implement it. On one side, one could keep track of whether each user has read or not each specific message, but that might be an overkill. On the other hand, using some sort of "date based approach" sometimes yields unaccurate results which is certainly annoying. Given my requirements, I might opt for accurateness, but I'm not sure whether to use a pure-database approach, with the performance hit that represents, or use a mix (database "big" filter and with per-session data help)... Any experience that made you opt for your current approach?

Thanks!

PD: Private as in "more focused towards intranet use", not as in "proprietary"
[originally posted on jforum.net by GreenEyed]
 
Migrated From Jforum.net
Ranch Hand
Posts: 17424
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I still want to have Lucene in JForum. It was my first option, but as I didn't had enough experience in that time - plus I was really thinking it would be possible to release JForum 1.0 is 3 months -, I ended with the current implementaion - tokenization in the database.
It performs well, but anyway.. Lucene it's much more mature, has much more features and etc.

About the second question, accuracy would require you go to the database to update user navigation on every single request. In JForum, I keep all data in memory until the user logs out or his session expires (and then a Session filter takes care of the rest)

Rafael
[originally posted on jforum.net by Rafael Steil]
 
Migrated From Jforum.net
Ranch Hand
Posts: 17424
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Rafael,

I just started with Lucene, but so far the simple things seem to be simple. There seems to be a wealth of options for more sophisticated behaviour, but step-by-step. I found a couple of interesting articles on how to use it, as the documentation at the Lucene site is more "check the sources" oriented, but I can try to summarise it when I implement it, so you can evaluate if/when you want to implement it.

And yeah, I understand accuracy in the "messages since last visit" can eventually hog the application, so I'm trying to come up with something that still is accurate but not so resource consuming. I guess the best approach would be something mixed, keeping some data in the DB and some in the session, as JForum does, but I might start with a slow-but-direct implementation and leave room for improvement. We'll see.

Thanks again for sharing.

[originally posted on jforum.net by GreenEyed]
 
Migrated From Jforum.net
Ranch Hand
Posts: 17424
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
There is a book named "Lucene in Action". You may want to take a read

Rafael
[originally posted on jforum.net by Rafael Steil]
 
Migrated From Jforum.net
Ranch Hand
Posts: 17424
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Right now I started with the articles from the same guy that wrote the book, Erick Hatcher, and I already implemented a basic search. I'm really impressed by the ease of use

But mastering it will require a book... or an encyclopedia ;)... now my problem seems to be where to draw the line between flexibility and power for configuration and simplicity. There are so many things that can be tweaked.... but I don't want to confuse the admin of the forum. After all it will just be a forum search, not a googleforum
[originally posted on jforum.net by GreenEyed]
 
Life just hasn't been the same since the volcano erupted and now the air is full of tiny ads.
We need your help - Coderanch server fundraiser
https://coderanch.com/t/782867/Coderanch-server-fundraiser
reply
    Bookmark Topic Watch Topic
  • New Topic