You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by "R. Tan" <ta...@gmail.com> on 2009/09/03 06:00:46 UTC

Schema for group/child entity setup

Hi Solrers,
I would like to get your opinion on how to best approach a search
requirement that I have. The scenario is I have a set of business listings
that may be group into one parent business (such as 7-eleven having several
locations). On the results page, I only want 7-eleven to show up once but
also show how many locations matched the query (facet filtered by state, for
example) and maybe a preview of the some of the locations.

Searching for the business name is straightforward but the locations within
the a result is quite tricky. I can do the opposite, searching for the
locations and faceting on business names, but it will still basically be the
same thing and repeat results with the same business name.

Any advice?

Thanks,
R

Re: Schema for group/child entity setup

Posted by Avlesh Singh <av...@gmail.com>.
>
> But, as I've discovered the field collapsing feature recently (although I
> haven't tested it), can't it solve this requirement?
>
>From the top of my head, no. The answer might change on deep thinking. It is
one of the most popular features which is yet to be incorporated into Solr.

Cheers
Avlesh

On Fri, Sep 4, 2009 at 10:58 PM, R. Tan <ta...@gmail.com> wrote:

> Hmmm, interesting solution. But, as I've discovered the field collapsing
> feature recently (although I haven't tested it), can't it solve this
> requirement?
>
> On Sat, Sep 5, 2009 at 1:14 AM, Avlesh Singh <av...@gmail.com> wrote:
>
> > Well you are talking about a very relational behavior, Tan.
> > You can declare a "locations" and "location_*" field in your schema.
> While
> > indexing a document, put all the locations inside the field "locations".
> > Populate "location_state", "location_city" etc .. with their
> corresponding
> > location values. That ways, when no filter is applied, you can facet on
> the
> > "locations" field to get all the locations. In all other scenarios when a
> > filter on field "foo" is applied, faceting on "location_foo" will give
> you
> > the desired results.
> >
> > Cheers
> > Avlesh
> >
> > On Fri, Sep 4, 2009 at 10:16 PM, R. Tan <ta...@gmail.com> wrote:
> >
> > > I can't because there are facet values for each location, such as
> > > state/city/neighborhood and facilities. Example result is "7 Eleven",
> 100
> > > locations when no location filters are applied, where there is a filter
> > for
> > > state, it should show "7 Eleven, 20 locations.
> > >
> > > On Fri, Sep 4, 2009 at 11:57 PM, Aakash Dharmadhikari <
> aakashd@gmail.com
> > > >wrote:
> > >
> > > > can't you store the locations as part of the parent listing while
> > > storing.
> > > > This way there would be only one document per parent listing. And all
> > the
> > > > locations related information can be multi valued attributes per
> > property
> > > > or
> > > > any other way depending on the attributes.
> > > >
> > > > 2009/9/3 R. Tan <ta...@gmail.com>
> > > >
> > > > > Hi Solrers,
> > > > > I would like to get your opinion on how to best approach a search
> > > > > requirement that I have. The scenario is I have a set of business
> > > > listings
> > > > > that may be group into one parent business (such as 7-eleven having
> > > > several
> > > > > locations). On the results page, I only want 7-eleven to show up
> once
> > > but
> > > > > also show how many locations matched the query (facet filtered by
> > > state,
> > > > > for
> > > > > example) and maybe a preview of the some of the locations.
> > > > >
> > > > > Searching for the business name is straightforward but the
> locations
> > > > within
> > > > > the a result is quite tricky. I can do the opposite, searching for
> > the
> > > > > locations and faceting on business names, but it will still
> basically
> > > be
> > > > > the
> > > > > same thing and repeat results with the same business name.
> > > > >
> > > > > Any advice?
> > > > >
> > > > > Thanks,
> > > > > R
> > > > >
> > > >
> > >
> >
>

Re: Schema for group/child entity setup

Posted by "R. Tan" <ta...@gmail.com>.
Hmmm, interesting solution. But, as I've discovered the field collapsing
feature recently (although I haven't tested it), can't it solve this
requirement?

On Sat, Sep 5, 2009 at 1:14 AM, Avlesh Singh <av...@gmail.com> wrote:

> Well you are talking about a very relational behavior, Tan.
> You can declare a "locations" and "location_*" field in your schema. While
> indexing a document, put all the locations inside the field "locations".
> Populate "location_state", "location_city" etc .. with their corresponding
> location values. That ways, when no filter is applied, you can facet on the
> "locations" field to get all the locations. In all other scenarios when a
> filter on field "foo" is applied, faceting on "location_foo" will give you
> the desired results.
>
> Cheers
> Avlesh
>
> On Fri, Sep 4, 2009 at 10:16 PM, R. Tan <ta...@gmail.com> wrote:
>
> > I can't because there are facet values for each location, such as
> > state/city/neighborhood and facilities. Example result is "7 Eleven", 100
> > locations when no location filters are applied, where there is a filter
> for
> > state, it should show "7 Eleven, 20 locations.
> >
> > On Fri, Sep 4, 2009 at 11:57 PM, Aakash Dharmadhikari <aakashd@gmail.com
> > >wrote:
> >
> > > can't you store the locations as part of the parent listing while
> > storing.
> > > This way there would be only one document per parent listing. And all
> the
> > > locations related information can be multi valued attributes per
> property
> > > or
> > > any other way depending on the attributes.
> > >
> > > 2009/9/3 R. Tan <ta...@gmail.com>
> > >
> > > > Hi Solrers,
> > > > I would like to get your opinion on how to best approach a search
> > > > requirement that I have. The scenario is I have a set of business
> > > listings
> > > > that may be group into one parent business (such as 7-eleven having
> > > several
> > > > locations). On the results page, I only want 7-eleven to show up once
> > but
> > > > also show how many locations matched the query (facet filtered by
> > state,
> > > > for
> > > > example) and maybe a preview of the some of the locations.
> > > >
> > > > Searching for the business name is straightforward but the locations
> > > within
> > > > the a result is quite tricky. I can do the opposite, searching for
> the
> > > > locations and faceting on business names, but it will still basically
> > be
> > > > the
> > > > same thing and repeat results with the same business name.
> > > >
> > > > Any advice?
> > > >
> > > > Thanks,
> > > > R
> > > >
> > >
> >
>

Re: Schema for group/child entity setup

Posted by Avlesh Singh <av...@gmail.com>.
Well you are talking about a very relational behavior, Tan.
You can declare a "locations" and "location_*" field in your schema. While
indexing a document, put all the locations inside the field "locations".
Populate "location_state", "location_city" etc .. with their corresponding
location values. That ways, when no filter is applied, you can facet on the
"locations" field to get all the locations. In all other scenarios when a
filter on field "foo" is applied, faceting on "location_foo" will give you
the desired results.

Cheers
Avlesh

On Fri, Sep 4, 2009 at 10:16 PM, R. Tan <ta...@gmail.com> wrote:

> I can't because there are facet values for each location, such as
> state/city/neighborhood and facilities. Example result is "7 Eleven", 100
> locations when no location filters are applied, where there is a filter for
> state, it should show "7 Eleven, 20 locations.
>
> On Fri, Sep 4, 2009 at 11:57 PM, Aakash Dharmadhikari <aakashd@gmail.com
> >wrote:
>
> > can't you store the locations as part of the parent listing while
> storing.
> > This way there would be only one document per parent listing. And all the
> > locations related information can be multi valued attributes per property
> > or
> > any other way depending on the attributes.
> >
> > 2009/9/3 R. Tan <ta...@gmail.com>
> >
> > > Hi Solrers,
> > > I would like to get your opinion on how to best approach a search
> > > requirement that I have. The scenario is I have a set of business
> > listings
> > > that may be group into one parent business (such as 7-eleven having
> > several
> > > locations). On the results page, I only want 7-eleven to show up once
> but
> > > also show how many locations matched the query (facet filtered by
> state,
> > > for
> > > example) and maybe a preview of the some of the locations.
> > >
> > > Searching for the business name is straightforward but the locations
> > within
> > > the a result is quite tricky. I can do the opposite, searching for the
> > > locations and faceting on business names, but it will still basically
> be
> > > the
> > > same thing and repeat results with the same business name.
> > >
> > > Any advice?
> > >
> > > Thanks,
> > > R
> > >
> >
>

Re: Schema for group/child entity setup

Posted by "R. Tan" <ta...@gmail.com>.
I can't because there are facet values for each location, such as
state/city/neighborhood and facilities. Example result is "7 Eleven", 100
locations when no location filters are applied, where there is a filter for
state, it should show "7 Eleven, 20 locations.

On Fri, Sep 4, 2009 at 11:57 PM, Aakash Dharmadhikari <aa...@gmail.com>wrote:

> can't you store the locations as part of the parent listing while storing.
> This way there would be only one document per parent listing. And all the
> locations related information can be multi valued attributes per property
> or
> any other way depending on the attributes.
>
> 2009/9/3 R. Tan <ta...@gmail.com>
>
> > Hi Solrers,
> > I would like to get your opinion on how to best approach a search
> > requirement that I have. The scenario is I have a set of business
> listings
> > that may be group into one parent business (such as 7-eleven having
> several
> > locations). On the results page, I only want 7-eleven to show up once but
> > also show how many locations matched the query (facet filtered by state,
> > for
> > example) and maybe a preview of the some of the locations.
> >
> > Searching for the business name is straightforward but the locations
> within
> > the a result is quite tricky. I can do the opposite, searching for the
> > locations and faceting on business names, but it will still basically be
> > the
> > same thing and repeat results with the same business name.
> >
> > Any advice?
> >
> > Thanks,
> > R
> >
>

Re: Schema for group/child entity setup

Posted by Aakash Dharmadhikari <aa...@gmail.com>.
can't you store the locations as part of the parent listing while storing.
This way there would be only one document per parent listing. And all the
locations related information can be multi valued attributes per property or
any other way depending on the attributes.

2009/9/3 R. Tan <ta...@gmail.com>

> Hi Solrers,
> I would like to get your opinion on how to best approach a search
> requirement that I have. The scenario is I have a set of business listings
> that may be group into one parent business (such as 7-eleven having several
> locations). On the results page, I only want 7-eleven to show up once but
> also show how many locations matched the query (facet filtered by state,
> for
> example) and maybe a preview of the some of the locations.
>
> Searching for the business name is straightforward but the locations within
> the a result is quite tricky. I can do the opposite, searching for the
> locations and faceting on business names, but it will still basically be
> the
> same thing and repeat results with the same business name.
>
> Any advice?
>
> Thanks,
> R
>