Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion Ad Hoc Queries
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Ayende Rahien  
View profile  
 More options Sep 23 2010, 12:20 pm
From: Ayende Rahien <aye...@ayende.com>
Date: Thu, 23 Sep 2010 18:20:14 +0200
Local: Thurs, Sep 23 2010 12:20 pm
Subject: Re: [RavenDB] Re: Ad Hoc Queries

Problems,
You can only do that for the simplest scenarios, such as:
Name:Ayende

It also ignore big optimizations such as the ability to only scan specific
entity names.

On Thu, Sep 23, 2010 at 5:54 PM, Rob Ashton <robash...@codeofrob.com> wrote:
> Anyway, moving on and ignoring the above drivel - I've remembered how
> RavenDB works now...

> An implementation of parametrized dynamic queries could

> - Use the above to get the documents, put the results in a temporary
> lucene index, wait for the indexing to occur, query that lucene index
> and then delete the lucene index
> - If the same query is called a number of times in a certain time
> period, an actual index could be created and queried instead (given a
> unique name based on the fields being queried)
> - If the query isn't invoked after a set amount of time, it would be
> deleted

> This would potentially have less overhead than creating a proper index
> each time and waiting for the system to index the data?

> My alternative suggestion is to create an index for all documents,
> full of dynamic fields and query that too, but that has the
> disadvantage that it works completely differently to how the rest of
> RavenDB functions

> On Sep 23, 4:47 pm, Rob Ashton <robash...@CodeOfRob.com> wrote:
> > So basically ignore my question entirely because I'm talking nonsense
> > =)

> > On Sep 23, 4:46 pm, Rob Ashton <robash...@CodeOfRob.com> wrote:

> > > Okay, I get you - so this is just a nice way of debugging the contents
> > > of the document store via linq queries
> > > I think for *that* purpose, using indexes would be a folly, but it'll
> > > need to be pointed out quite loudly that this is what it does and that
> > > it's very different to what you'd get from an actual index.

> > > Also yes yes, you're quite right - this is what you meant by
> > > parameters not being there, I didn't read your post properly.

> > > On Sep 23, 4:41 pm, Ayende Rahien <aye...@ayende.com> wrote:

> > > > Yes, the idea here is that the output of an ad hoc query is whatever
> the
> > > > output of the linq query is.
> > > > I am not sure HOW we could use indexes for that, or why we would want
> that.
> > > > With indexes, in much the same way, we take the output from the linq
> query
> > > > and put it in Lucene.
> > > > Here, we are simply returning the output.
> > > > I am not sure that I understand what you mean by raw query passed in.

> > > > What would YOU consider for querying on dynamic indexes?

> > > > On Thu, Sep 23, 2010 at 5:31 PM, Rob Ashton <robash...@codeofrob.com>
> wrote:
> > > > > Okay, I've been through and checked it out and before I go ahead
> and
> > > > > create a system along the lines we discussed on Twitter I want to
> > > > > check a few facts about this particular implementation of dynamic
> > > > > queries.

> > > > > In order to avoid memory leaks, you're creating a new app domain
> which
> > > > > contains a query cache, when a LinearQuery is ran against the
> > > > > QueryRunner that query is stored in the cache, and when the query
> > > > > runner contains 1024 queries, the app domain is flushed and the
> > > > > process starts all over again.

> > > > > This query runner is passed a IRemoteStorage, from which it
> retrieves
> > > > > the documents in batches, and enumerates through them plucking out
> the
> > > > > docs that meet the requirements of the query passed in. As far as I
> > > > > can see, this doesn't use Lucene indexes, but the raw query passed
> in?
> > > > > Am I understanding that correctly? Does that mean you potentially
> will
> > > > > get different results from traditional indexes?

> > > > > ---

> > > > > I was planning on doing the dynamic index system as a bundle, and
> > > > > actually creating/destroying indexes (for all queries, potentially
> > > > > taking a long time the first time a query is invoked)- is this
> going
> > > > > to be a problem? My initial plan was to tack onto whatever you had
> > > > > already written, but if Lucene indexes aren't being used for ad-hoc
> > > > > queries then that plan is scuppered (I think)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.