Solved

Best Search Architechure for a conditional search

Posted on 2013-01-14
1
271 Views
Last Modified: 2013-02-28
Hi - I'm exploring some options for a new search tool I'm building and would appreciate some advise on how to best architect it.

Here's the scenario:
- I've got a music search app with 30,000 searchable songs
- My existing search uses Solr (Lucene) to perform an indexed Keywords search against the stored keywords associated with each song.  

Currently, users can enter search terms into a Keywords box, which searches the indexed songs keywords field.  For example, a user could search: "happy, fun, upbeat".  This works great, but I want to add another layer to the search that allows users to enter a band name to search.  Where if the user searches "Pink Floyd" or "The Rolling Stones", it will recognize those as a band names, then grab the associated Band Description for said band, then pass it to the Solr search engine.

I'm using MySQL and am going to be importing a "band database" with around 50,000 band records, to use as my source data.  I'll call that table BANDS, and give it the following 2 fields:
- BandName
- BandDescription

From the front-end user search, I want to check the users search term against BANDS.BandName.
If a match is found; get BANDS.BandDescription and pass that to my Solr indexed search
If a match is not found; just search the user search Keywords in the Solr indexed search

------------------------------------

Please let me know if that makes sense.  Speed is imperative to the success of my search, so I'm wondering if this 2-stop-search approach is the correct way to do this.  I look forward to learning....
0
Comment
Question by:Xbradders
1 Comment
 
LVL 24

Accepted Solution

by:
johanntagle earned 450 total points
ID: 38781253
Usually the pattern is to search all keywords by default, then have a customized search if user wants to search by specific fields.  I haven't used solr but for sphinx you can choose to specify specific indexes to search, or all.  Suggest you stick to doing all the searches on solr.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I'm trying, I really am. But I've seen so many wrong approaches involving date(time) boundaries I despair about my inability to explain it. I've seen quite a few recently that define a non-leap year as 364 days, or 366 days and the list goes on. …
When table data gets too large to manage or queries take too long to execute the solution is often to buy bigger hardware or assign more CPUs and memory resources to the machine to solve the problem. However, the best, cheapest and most effective so…
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.
Via a live example, show how to setup several different housekeeping processes for a SQL Server.

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question