Hi,
I reply to myself
I just had to invert the "on" clause to make it work
curl --data-urlencode 'expr=innerJoin(
search(books,
q="*:*",
fl="id",
sort="id asc"),
searchreviews,
q="*:*",
fl="id_book_s",
sort="id_book_s asc"),
on="id_books_s=id"
)' http://localhost:8983/solr/books/stream
{
"result-set": {
"docs": [
{
"title_s": "The Way of Kings",
"pubyear_i": 2010,
"stars_i": 5,
"id": "book1",
"id_book_s": "book1",
"review_dt": "2015-01-03T14:30:00Z"
},
{
"title_s": "The Way of Kings",
"pubyear_i": 2010,
"stars_i": 3,
"id": "book1",
"id_book_s": "book1",
"review_dt": "2014-03-15T12:00:00Z"
},
{
"title_s": "The Way of Kings",
"pubyear_i": 2010,
"stars_i": 4,
"id": "book1",
"id_book_s": "book1",
"review_dt": "2014-12-15T12:00:00Z"
},
{
"title_s": "Friends",
"pubyear_i": 1994,
"stars_i": 5,
"id": "book2",
"id_book_s": "book2",
"review_dt": "1995-01-03T14:30:00Z"
},
{
"title_s": "Friends",
"pubyear_i": 1994,
"stars_i": 3,
"id": "book2",
"id_book_s": "book2",
"review_dt": "1994-03-15T12:00:00Z"
},
{
"title_s": "Friends",
"pubyear_i": 1994,
"stars_i": 4,
"id": "book2",
"id_book_s": "book2",
"review_dt": "1994-12-15T12:00:00Z"
},
{
"EOF": true,
"RESPONSE_TIME": 35
}
]
}
}
However, I don't understand the reason as in debug mode I see
the isValidTupleOrder method should return true in both case.
Regards.
Dominique
Le mar. 18 avr. 2017 à 14:51, Joel Bernstein <[email protected]> a écrit :
> I looked through the test cases I don't think we have this covered exactly
> as it's written. Can you log a jira for this?
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
> On Tue, Apr 18, 2017 at 6:33 AM, Dominique Bejean <
> [email protected]
> > wrote:
>
> > Hi,
> >
> > I don not understand what I am doing wrong il this simple query.
> >
> > curl --data-urlencode 'expr=innerJoin(
> > search(books,
> > q="*:*",
> > fl="id",
> > sort="id asc"),
> > searchreviews,
> > q="*:*",
> > fl="id_book_s",
> > sort="id_book_s asc"),
> > on="id=id_books_s"
> > )' http://localhost:8983/solr/books/stream
> >
> > {"result-set":{"docs":[{"EXCEPTION":"Invalid JoinStream - all incoming
> > stream comparators (sort) must be a superset of this stream's
> > equalitor.","EOF":true}]}}
> >
> >
> > It is tottaly similar to the documentation example
> >
> > innerJoin(
> > search(people, q=*:*, fl="personId,name", sort="personId asc"),
> > search(pets, q=type:cat, fl="ownerId,petName", sort="ownerId asc"),
> > on="personId=ownerId"
> > )
> >
> >
> >
> > Queries on each collection give :
> >
> > $ curl --data-urlencode 'expr=search(books,
> > q="*:*",
> > fl="id, title_s, pubyear_i",
> > sort="pubyear_i asc",
> > qt="/export")'
> > http://localhost:8983/solr/books/stream
> >
> > {
> > "result-set": {
> > "docs": [
> > {
> > "title_s": "Friends",
> > "pubyear_i": 1994,
> > "id": "book2"
> > },
> > {
> > "title_s": "The Way of Kings",
> > "pubyear_i": 2010,
> > "id": "book1"
> > },
> > {
> > "EOF": true,
> > "RESPONSE_TIME": 16
> > }
> > ]
> > }
> > }
> >
> >
> > $ curl --data-urlencode 'expr=search(reviews,
> > q="author_s:d*",
> > fl="id, id_book_s, stars_i,
> review_dt",
> > sort="id_book_s asc",
> > qt="/export")'
> > http://localhost:8983/solr/reviews/stream
> >
> > {
> > "result-set": {
> > "docs": [
> > {
> > "stars_i": 3,
> > "id": "book1_c2",
> > "id_book_s": "book1",
> > "review_dt": "2014-03-15T12:00:00Z"
> > },
> > {
> > "stars_i": 4,
> > "id": "book1_c3",
> > "id_book_s": "book1",
> > "review_dt": "2014-12-15T12:00:00Z"
> > },
> > {
> > "stars_i": 3,
> > "id": "book2_c2",
> > "id_book_s": "book2",
> > "review_dt": "1994-03-15T12:00:00Z"
> > },
> > {
> > "stars_i": 4,
> > "id": "book2_c3",
> > "id_book_s": "book2",
> > "review_dt": "1994-12-15T12:00:00Z"
> > },
> > {
> > "EOF": true,
> > "RESPONSE_TIME": 47
> > }
> > ]
> > }
> > }
> >
> >
> > Can someone help me to find my mistake ?
> >
> > Regards
> >
> > Dominique
> > --
> > Dominique Béjean
> > 06 08 46 12 43
> >
>
--
Dominique Béjean
06 08 46 12 43