I searched for "sphinx" at the bakery and found nothing....  Adam, do
you have a direct link?

THANKS!

-John

On Dec 7, 7:05 am, Adam Royle <[EMAIL PROTECTED]> wrote:
> Have a look at sphinx, and the SphinxBehaviour on the bakery.
>
> Cheers,
> Adam
>
> On Dec 7, 7:22 am, Clay <[EMAIL PROTECTED]> wrote:
>
> > My app has the following:
>
> > Genus hasMany Species
> > Species hasMany CommonName
>
> > and the corresponding belongsTo relationships as well. Each of these
> > models has a name field, and Genus and Species have several other
> > fields.
>
> > Say for example I have a Species Acer rubrum. This Species belongsTo
> > Genus Acer and has a CommonName Red Maple.
>
> > I want my users to be able to search the database for "Red Maple" and
> > get as a result Species Acer rubrum (with the CommonName Red Maple
> > highlighted to show that's what it matched. I can do this already.
> > Yay.
>
> > However if I have another Species with CommonName Bored Maple, I want
> > to display this result too, but lower in the list than Red Maple.
> > Since Bored comes before Red alphabetically I can't just order by
> > CommonName.name to get the result I want.
>
> > So what I know I could do is a series of finds:
> > 1) Find exact match: CommonName.name => $searchStr
> > 2) Find starting match: CommonName.name LIKE => $searchStr . '%'
> > 3) Find internal match: CommonName.name LIKE => '%' . $searchStr . '%'
>
> > And then merge them into my results array.
>
> > However, this seems very inefficient. Is there a way I can use cake's
> > find() function to do this all in one go while ordering them in order
> > of best match? I have thought about this for quite some time and done
> > some research but I can't seem to find any clever solution.
>
> > I might be able to do a custom query with a bunch of SELECTs as above
> > combined with UNION or something, but this would be a pretty complex
> > query and not really much more efficient than what I already know how
> > to do.
>
> > Thanks in advance any genius here who has a solution!
>
> > -Clay
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to