MilkDud schrieb:
Ok, so lets suppose i did index across just the album. Using that index, how would I be able to handle searches of the form "artist name track name".
What does the user interface look like? Do you have separate fields for artists and tracks? Or just one field?
If i do the search using a phrase query, this won't match anything because the artist and track are not in one field (hence my idea of creating a third concatenated field).
What do you expect the user to enter? * "dream theater innocence faded" - certainly wrong * dream theater "innocence faded" - much better Use the DisMax query parser to read the query, as I suggested in my first reply. You need to become more familiar with the various search facilities, that will probably steer your ideas in more promising directions. Read up about DisMax.
If i make it a non phrase query, itll return albums that have those words across all the tracks, which is not ideal. I.e. if you search for a track titled "love me" you will get back albums with the words love and me in different tracks.
That doesn't make sense me to me. Did you inspect your query using debugQuery=true as I suggested? What did it boil down to?
Basically, i'd like it to look at each track individually
That tells me you're thinking database and table scan.
and if the artist + just one track match all the search terms, then that counts as a match. Does that make sense? If i index on the track level, that should work, but then i have to store album/artist info on each track.
I think the following makes much more sense:
An album should be a document and have the following fields (and maybe more, if you have more data attached to it): id - unique, an identifier title - album title interpret - the musician, possibly multi-valued track - every song or whatever, definitely multi-valued
Read up about multi-valued fields (sample schema.xml, for example, or Google) if you're unsure what this is; your posting subject, however, suggests you aren't. Regards, Michael Ludwig