Solved

Best Search Architechure for a conditional search

Posted on 2013-01-14
1
279 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

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

A Stored Procedure in Microsoft SQL Server is a powerful feature that it can be used to execute the Data Manipulation Language (DML) or Data Definition Language (DDL). Depending on business requirements, a single Stored Procedure can return differe…
This post looks at MongoDB and MySQL, and covers high-level MongoDB strengths, weaknesses, features, and uses from the perspective of an SQL user.
Via a live example combined with referencing Books Online, show some of the information that can be extracted from the Catalog Views in SQL Server.
Viewers will learn how the fundamental information of how to create a table.

627 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