Please upgrade here. These earlier versions are no longer being updated and have security issues.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Will you guys improve the search function?

edited April 2012 in Vanilla 2.0 - 2.8

The search engine that comes with the Vanilla is very non-specific. Many of my users are complaining about it as they were used to phpBB search which was better (one of the few things).

Currently if I search for a combination of 2 words, the top results do not have both words together. Its a bit random

Comments

  • I've just recently switched from V1 to V2 and have found the search to be much worse, results-wise. Here is a recent quote from one of my members complaining. :(

    "The search function seems very poor compared to the previous forum. I tried searching for "large letter" (with quotes) and seemed to get everything with the word large or letter. Not very practical."

    I am looking into the plugin vanoogle, but that has ads, and you have to wait for google to index content for it to show up in search. Not ideal.

  • Yep! I am using Google Custom Search as of now. Will wait for the next versions of Vanilla

  • UnderDogUnderDog MVP
    edited March 2012

    There was an error rendering this rich post.

  • ToddTodd Chief Product Officer Vanilla Staff

    When we host Vanilla we use sphinx for much of our search which is much better than mysql search. This suits us fine.

    It would be really great if the open source community would step up and help improve search for their purposes. We at Vanilla HQ only have so much time in the day.

  • peregrineperegrine MVP
    edited April 2012

    So does your host provider just have to have sphinx available and you convert the engine type to sphinx in all the tables.

    SHOW ENGINES;

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • ToddTodd Chief Product Officer Vanilla Staff

    Sphinx is a specific piece of software used for searching. You must install it and configure it. We don't support it's setup.

  • 422422 Developer MVP

    Sphinx s NOT for beginners though, its erm ... complex.

    There was an error rendering this rich post.

  • mcu_hqmcu_hq yippie ki-yay ✭✭✭
    edited April 2012

    I have begun writing a Sphinx Search plugin. I use it on my main site and I am simply blown away on how fast and versatile it is. The problem that I am foreseeing with the plugin is that a good majority of people will have a hard time installing Sphinx.

    Depending on their distro, it may already be apart of their library. Once installed, they would have to manually start the daemon and open necessary ports. To anyone that is running their own setup, this is pretty straightforward. For people that are using a hosting provider, this could get very problematic and cost them tons of time to figure out or money. Also a possibility that the host provider sucks and won't support it at all. If they are using shared hosting, they can pretty much toss this plugin out the window since the daemon service needs to run in the background. This would also require shell access.

    Optimal solution would be:

    1. Dedicated Hosting - expensive, but sometimes worth it
    2. Virtual Private Server - cheap and flexible
    3. Personal Server - time to setup, but you gain the ability to do whatever you want

    Probably a good idea to start a subcategory dedicated to paid services. I don't have the time and patience to assist for money, but I have seen requests and such floating around for features.

  • I used the solr plugin I found in the vanilla plugin github unfortunately it ends up with pretty much the same results as directly using MySQL Search

  • hbfhbf wiki guy? MVP

    mcu_hq said:
    I have begun writing a Sphinx Search plugin. I use it on my main site and I am simply blown away on how fast and versatile it is. The problem that I am foreseeing with the plugin is that a good majority of people will have a hard time installing Sphinx.

    Depending on their distro, it may already be apart of their library. Once installed, they would have to manually start the daemon and open necessary ports. To anyone that is running their own setup, this is pretty straightforward. For people that are using a hosting provider, this could get very problematic and cost them tons of time to figure out or money. Also a possibility that the host provider sucks and won't support it at all. If they are using shared hosting, they can pretty much toss this plugin out the window since the daemon service needs to run in the background. This would also require shell access.

    Optimal solution would be:

    1. Dedicated Hosting - expensive, but sometimes worth it
    2. Virtual Private Server - cheap and flexible
    3. Personal Server - time to setup, but you gain the ability to do whatever you want

    Probably a good idea to start a subcategory dedicated to paid services. I don't have the time and patience to assist for money, but I have seen requests and such floating around for features.

    im interested in trying this out. i personally host my forum, but i run windows so i dont know if sphinx supports that OS. also if you care to document the development and the lessons learned, this seems to be an excellent wiki topic.

    http://vanillawiki.homebrewforums.net/

  • 422422 Developer MVP

    Pretty sure it does, if you manage to get it working. I wanna test it. We tried in the past and gave up lol. Thought u were on linux

    There was an error rendering this rich post.

  • peregrineperegrine MVP
    edited April 2012

    Sphinx shows windows support. I may give the non-windows route a try and let you know if anything worthwhile comes out of it.
    http://sphinxsearch.com/downloads/release/

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • mcu_hqmcu_hq yippie ki-yay ✭✭✭
    edited April 2012

    It should work in windows. I only used it in Arch Linux and it worked beautifully.

    tl;dr: nooooooooooooo

    It seems that Vanilla has no unique ID between comments/discussions. This complicates Sphinx from returning unique IDs. Only way that I see around this is to create two indexes and essentially perform two scans for one search since there is a possibility of duplicates. You see, Sphinx can only return information for a single unique ID. All of the information for each row is all joined at this document ID. Since Vanilla does not have a unique document ID (by document ID, I mean a content ID of sorts for the content displayed on forums such as comments and discussions), there needs to be two seperate indexes that cannot be searched by the daemon (searchd) at the same time! Really not a big deal for small sites with little content, but big sites may see the hit. Also really limits ranking result sets between the two.

    Even when I look at the default search SQL Query, they have to perform a subquery to handle this.

    Maybe I'm missing the advantage of doing things this way.....surely I must be overlooking something..

    Here is how I would have arranged the database in regards to this (in MS paint):

    1: Make the DiscussionID and CommentID refer to simply any added content whether it be a comment or discussion starter. The DiscussionID in the pic below would then just reference to the topic starter ID, hence preserving a unique ID and eliminating foreign IDs.

    2: The Discussion table could then be used as basically what it does now, which is to link the topic starter added info to the unique ID in the comments table. No need to have two separate IDs for this. Having a separate table for the added overhead of discussion info such as keeping track of last inserts/updates/children/etc is a good idea, but no need for separate ID.

    Maybe 2.1 does this already? edit: damn

    Anyone have any ideas to fix this?

    Last minute edit: I guess I could always join the two together and have sphinx return the comment ID along with its discussion info (parent comment) for each result set. This doesn't sound too terrible of a fix for now, and may work out pretty well in the end.

  • hbfhbf wiki guy? MVP

    422 said:
    Pretty sure it does, if you manage to get it working. I wanna test it. We tried in the past and gave up lol. Thought u were on linux

    if i get it working, you are more than welcome to test.

    home built server, too lazy to try to set up a linux build when i put it together. now im back to serving some .net stuff so im stuck with windoze until i get another front end.

Sign In or Register to comment.