Which one?

2010/6/3 Rafael Sierra <[email protected]>

> On Thu, Jun 3, 2010 at 2:51 PM, Rafael Sierra <[email protected]>
> wrote:
> > On Thu, Jun 3, 2010 at 2:40 PM, Massimiliano
> > <[email protected]> wrote:
> >> Dear Ikai,
> >> I want to search in the datastore "Pizza" and obtain "Pizza with
> tomatoes",
> >> "Pizza with Mushrooms", I don't care about "abcpizza" or "123pizza".
> >
> > Those you can obtain by the filter told some messages ago, but 'I want
> > pizza man!' need a full-text of the poor solution I gave in the last
> > message.
>
> ...OR* the poor solution... (not "of")
>
> >
> >> Massimiliano
> >>
> >> 2010/6/3 Ikai L (Google) <[email protected]>
> >>>
> >>> The reason search engines work is because they do stemming on terms.
> For
> >>> instance, when you search for "cats" you may want to match "cat" and
> "cats"
> >>> for better results, and it's fairly unlikely you want to return
> "abcatst" or
> >>> "youcats123" (sorry, I couldn't think of any words that had "cats" in
> the
> >>> middle). Lucene, an open source Java project for ships with basic
> analyzers
> >>> that will do things like this.
> >>> Otherwise, there aren't easily scalable ways to index on substrings.
> The
> >>> closest you can come is to try to intelligently determine which
> substrings
> >>> in a string can be searched on, and index those terms.
> >>> On Thu, Jun 3, 2010 at 9:49 AM, Rafael Sierra <[email protected]>
> >>> wrote:
> >>>>
> >>>> Massimiliano, the point is that there's no way to create an index that
> >>>> can be used to avoid a full-scan into the database in that kind of
> >>>> query, so, even if you can do "ILIKE '%anything%'" in PgSQL or "LIKE
> >>>> '%anotherthing%'" in MySQL, it will result in a full-scan on every
> >>>> record at database.
> >>>>
> >>>> But, if you have a small set of record in you database, you can do
> >>>> something like this: http://dpaste.com/hold/202782/ . You can do this
> >>>> in larger sets of databases also, but you may deal with some
> >>>> DeadLineErrors at your application.
> >>>>
> >>>> Note: This solution has absolutely no performance at all, you can even
> >>>> do some kind of pagination (scanning the database only up to N
> >>>> registers and breaking after that) but if the scan happens to iterate
> >>>> over thousands of records before reach N records found, you will still
> >>>> have DeadLineErrors.
> >>>>
> >>>> On Thu, Jun 3, 2010 at 11:04 AM, Massimiliano
> >>>> <[email protected]> wrote:
> >>>> > So there isn't a scalable solution!
> >>>> >
> >>>> > 2010/6/3 Geoffrey Spear <[email protected]>
> >>>> >>
> >>>> >>
> >>>> >> On Jun 3, 4:58 am, Massimiliano <[email protected]>
> >>>> >> wrote:
> >>>> >> > I need just something like *myvar* so I will accept any
> carachters
> >>>> >> > before
> >>>> >> > and after the var...
> >>>> >> > Or I have to divide the strings in list (each word an elment of
> the
> >>>> >> > list)
> >>>> >> > and use the operator IN.
> >>>> >> > Thinking
> >>>> >>
> >>>> >> Building a keyword index for each entity is fairly trivial.
> >>>> >>
> >>>> >> Indexing so that you can find "oob" in "foobar" isn't, and I don't
> >>>> >> believe there's a scalable solution for this.  An RDBMS will do
> >>>> >> searches like this for you, but it won't scale well.  I believe
> it's
> >>>> >> only possible by doing a table scan, which App Engine won't let you
> do
> >>>> >> (short of manually fetching every entity and checking if it
> contains
> >>>> >> your substring, which obviously isn't going to be pretty.)
> >>>> >>
> >>>> >> --
> >>>> >> You received this message because you are subscribed to the Google
> >>>> >> Groups
> >>>> >> "Google App Engine" group.
> >>>> >> To post to this group, send email to
> >>>> >> [email protected].
> >>>> >> To unsubscribe from this group, send email to
> >>>> >> [email protected]<google-appengine%[email protected]>
> .
> >>>> >> For more options, visit this group at
> >>>> >> http://groups.google.com/group/google-appengine?hl=en.
> >>>> >>
> >>>> >
> >>>> >
> >>>> >
> >>>> > --
> >>>> >
> >>>> > My email: [email protected]
> >>>> > My Google Wave: [email protected]
> >>>> >
> >>>> > --
> >>>> > You received this message because you are subscribed to the Google
> >>>> > Groups
> >>>> > "Google App Engine" group.
> >>>> > To post to this group, send email to
> [email protected].
> >>>> > To unsubscribe from this group, send email to
> >>>> > [email protected]<google-appengine%[email protected]>
> .
> >>>> > For more options, visit this group at
> >>>> > http://groups.google.com/group/google-appengine?hl=en.
> >>>> >
> >>>>
> >>>> --
> >>>> You received this message because you are subscribed to the Google
> Groups
> >>>> "Google App Engine" group.
> >>>> To post to this group, send email to
> [email protected].
> >>>> To unsubscribe from this group, send email to
> >>>> [email protected]<google-appengine%[email protected]>
> .
> >>>> For more options, visit this group at
> >>>> http://groups.google.com/group/google-appengine?hl=en.
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Ikai Lan
> >>> Developer Programs Engineer, Google App Engine
> >>> Blog: http://googleappengine.blogspot.com
> >>> Twitter: http://twitter.com/app_engine
> >>> Reddit: http://www.reddit.com/r/appengine
> >>>
> >>> --
> >>> You received this message because you are subscribed to the Google
> Groups
> >>> "Google App Engine" group.
> >>> To post to this group, send email to [email protected]
> .
> >>> To unsubscribe from this group, send email to
> >>> [email protected]<google-appengine%[email protected]>
> .
> >>> For more options, visit this group at
> >>> http://groups.google.com/group/google-appengine?hl=en.
> >>
> >>
> >>
> >> --
> >>
> >> My email: [email protected]
> >> My Google Wave: [email protected]
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "Google App Engine" group.
> >> To post to this group, send email to [email protected].
> >> To unsubscribe from this group, send email to
> >> [email protected]<google-appengine%[email protected]>
> .
> >> For more options, visit this group at
> >> http://groups.google.com/group/google-appengine?hl=en.
> >>
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-appengine%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>


-- 

My email: [email protected]
My Google Wave: [email protected]

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to