When I talk about efficiency I'm talking about computational and network
round trip efficiency. In it's regular setup Solr allows you to get the
documents and facets in a single request in one efficient call. If that's
the main use case using the standard Solr makes.

Streaming Expressions sacrifices that efficiency for greater flexibility.
For example if you want to take 15 queries and perform statistical analysis
of the result sets, then Streaming Expressions can do that for you.

You don't have to choose one or the other. You could have a standard setup
used for most of queries and then use Streaming Expressions for specific
use cases.

Joel Bernstein
http://joelsolr.blogspot.com/

On Wed, Nov 8, 2017 at 10:31 AM, Kojo <rbsnk...@gmail.com> wrote:

> We have a web site with traditional search capabilities, faceting, sorting
> and so on. It has many problems before we took over and we need to
> refectory it all. It has a single index for different type of documents,
> and it has a very small amount of data.
>
> The situation is that we are developing a PoC to expand the system in order
> to have room for different type of government data, such as educational,
> labor, financial and so on. For this expansion we thought that it would be
> better to start thinking in a scalable system to accommodate multiple
> collections on Solr Cloud. The user will be researchers analyzing data, but
> I would like to offer a first layer of filtering to export data for them.
> To develop this PoC, we are refactoring the system I´ve mentioned in the
> begining. Because of our requirements to build a scalable system with
> multiple indexes, hundreds of millions of documents, Solr cloud etc, when I
> read about Streaming Expressions I thought it would fit as a good approach.
>
> When you talk about efficiency, are you talking about the need to write
> more code since the traditional Solr API may be less expensive, or are you
> talking about efficiency in terms of performance?
> Your opinion is very much appreciated.
>
>
>
>
>
>
>
>
> 2017-11-08 12:35 GMT-02:00 Joel Bernstein <joels...@gmail.com>:
>
> > It would be useful if you could describe your use case more fully. For
> > example are the users looking mainly for search results with facets? Or
> are
> > they looking for more flexibility and data analysis capabilities.
> >
> > Streaming Expressions really lends itself to non-traditional search use
> > cases. If your planning a traditional search interface then Streaming
> > Expressions is going to be the less efficient approach.
> >
> > Joel Bernstein
> > http://joelsolr.blogspot.com/
> >
> > On Wed, Nov 8, 2017 at 7:44 AM, Kojo <rbsnk...@gmail.com> wrote:
> >
> > > Amrit,
> > > as far as I understand, in your example I have resulted documents
> > > aggregated by the rollup function, but to get the documents themselves
> I
> > > need to make another query that will get fq´s cached results, is that
> > > correct?
> > >
> > >
> > > And thanks for pointing about  fq in Streaming Expression. I was
> looking
> > > for that but I haven´t found.
> > >
> > >
> > >
> > >
> > >
> > >
> > > 2017-11-08 2:35 GMT-02:00 Amrit Sarkar <sarkaramr...@gmail.com>:
> > >
> > > > Kojo,
> > > >
> > > > Not sure what do you mean by making two request to get documents. A
> > > > "search" streaming expression can be passed with "fq" parameter to
> > filter
> > > > the results and rollup on top of that will fetch you desired results.
> > > This
> > > > maybe not mentioned in official docs:
> > > >
> > > > Sample streaming expression:
> > > >
> > > > expr=rollup(
> > > > >
> > > > >     search(collection1,
> > > > >
> > > > >         zkHost="localhost:9983",
> > > > >
> > > > >         qt="/export",
> > > > >
> > > > >         q="*:*",
> > > > >
> > > > >         fq=a_s:filter_a
> > > > >
> > > > >         fl="id,a_s,a_i,a_f",
> > > > >
> > > > >         sort="a_f asc"),
> > > > >
> > > > >        over=a_f)
> > > > >
> > > > >
> > > > Amrit Sarkar
> > > > Search Engineer
> > > > Lucidworks, Inc.
> > > > 415-589-9269
> > > > www.lucidworks.com
> > > > Twitter http://twitter.com/lucidworks
> > > > LinkedIn: https://www.linkedin.com/in/sarkaramrit2
> > > > Medium: https://medium.com/@sarkaramrit2
> > > >
> > > > On Wed, Nov 8, 2017 at 7:41 AM, Kojo <rbsnk...@gmail.com> wrote:
> > > >
> > > > > Hi,
> > > > > I am working on PoC of a front-end web to provide an interface to
> the
> > > end
> > > > > user search and filter data on Solr indexes.
> > > > >
> > > > > I am trying Streaming Expression for about a week and I am fairly
> > keen
> > > > > about using it to search and filter indexes on Solr side. But I am
> > not
> > > > sure
> > > > > whether this is the right approach or not.
> > > > >
> > > > > A simple question to illustrate my doubts: If use the search and
> some
> > > > > Streaming Expressions more to get and filter the indexes to get
> > > > documents,
> > > > > and I want to rollup the result, will I have to make two requests?
> Is
> > > > this
> > > > > a good use for Streaming Expressions?
> > > > >
> > > >
> > >
> >
>

Reply via email to