So here is my use case with a little more detail. I'm working with recurring events. Each event has an expression associated with it that defines its recurrence pattern. For example, monthly, daily, yearly... The event has metadata associated with it that is searchable. When a user performs a search, they can match on various metadata fields, but the query can also span a range of dates. If a match occurs, I'd like to unwind the expression into the instances specified by the pattern and return these "virtual" instances as results.
Right now, I'm post processing data to hammer out the results that fit the window of time specified in the query, but this moves sorting and pagination out of the Solr tier. I'd like to see if I can get it to stay there :) Post processing also prohibits me from faceting which would be extremely useful. I'm trying to avoid heavy post processing if I can. Given the nature of the data, its not really feasible for me to pre-assemble instance data and index since I don't know the window of time a user will be looking at. Thanks, Alejandro On Wed, Oct 30, 2013 at 6:35 PM, Upayavira <u...@odoko.co.uk> wrote: > Also note that function queries only return numbers (given their origin > in scoring). They cannot be used to create virtual string or text > fields. > > Upayavira > > On Wed, Oct 30, 2013, at 05:19 PM, Jack Krupansky wrote: > > A function query is simply returning a calculated result based on > > existing > > data - no new fields required. > > > > Did you actually want to precompute a value, store it in the index, and > > then > > query on it? If so, you could do that indexing with a custom or scripted > > update processor. > > > > Flesh out an example of exactly what you want. > > > > -- Jack Krupansky > > > > -----Original Message----- > > From: Alejandro Calbazana > > Sent: Wednesday, October 30, 2013 12:46 PM > > To: solr-user@lucene.apache.org > > Subject: Re: Computing Results So That They are Returned in Search > > Results > > > > Sounds really close to what I'm looking for, but this sounds like it > > would > > result in a new field on a document (or a new value for a field defined > > to > > hold the result of a function). Would it be possible for a function > > query > > to produce a new document so that I can associate the computed value with > > it? > > > > Thanks, > > > > Alejandro > > > > > > On Wed, Oct 30, 2013 at 12:05 PM, Jack Krupansky > > <j...@basetechnology.com>wrote: > > > > > You could create a custom "value source" and then use it in a function > > > query embedded in your return fields list (fl). > > > > > > So, the function query could use a function (value source) that takes a > > > field, fetches its value, performs some arbitrary calculation, and then > > > returns that value. > > > > > > fl=id,name,my-func(field1),my-**func(field2) > > > > > > -- Jack Krupansky > > > > > > -----Original Message----- From: Alejandro Calbazana > > > Sent: Wednesday, October 30, 2013 10:10 AM > > > To: solr-user@lucene.apache.org > > > Subject: Computing Results So That They are Returned in Search Results > > > > > > I'd like to throw out a design question and see if its possible to > solve > > > this with Solr. > > > > > > I have a set of data that is computed that I'd like to make searchable. > > > Ideally, I'd like to have all documents indexed and call it the day, > but > > > the nature of the data is such that it needs to be computed given a > > > definition. I'm interested in searching on definitions and then > creating > > > results on the fly that are calculated based on something embedded in > the > > > definition. > > > > > > Is it possible to embed this calculation login into Solr's result > handling > > > process? I know this sounds exotic, but the nature of the data is such > > > that I can't index these calculated documents because I don't know what > > > the > > > boundary is and specifiying an arbitrary number isn't ideal. > > > > > > Has anyone run across something like this? > > > > > > Thanks, > > > > > > Alejandr > > > > > >