It should be like "q":"{!join from=site_id to=site_id fromIndex=stores score=max}+{!geofilt} {!func}geodist() ", post debugQuery
On Thu, Nov 14, 2019 at 4:44 PM Vasily Ogar <ogar.vas...@gmail.com> wrote: > I was glad too early because it can only sort or only filter, but can't do > together :(. It takes the only first argument, in my case it geodist or > geofilt > > On Thu, Nov 14, 2019 at 11:11 AM Vasily Ogar <ogar.vas...@gmail.com> > wrote: > > > Hello, > > I fixed it. If I need to sort by price: > > "q":"{!join from=site_id to=site_id fromIndex=stores}*:*", > > "fq":"{!edismax qf=\"title description\" v=\"iphone xr 64gb\" mm=3<90%}", > > "fl":"score,*,store:[subquery fromIndex=stores]", > > "store.q":"{!terms f=site_id v=$row.site_id}", "store.rows":"1", > "store.fl > > ":"*,score", "sort":"price_low desc", > > "hl":"on", "hl.simple.pre":"<strong>", "hl.simple.post":"</strong>", > > "hl.q":"{!edismax qf=$hl.fl v=\"iphone xr 64gb\"}", "hl.fl":"title > > description", "hl.method":"unified", "group.field":"site_id", "group": > > "true" > > "group.limit":"2", > > > > And if I need to sort by geodist: > > "q":"{!join from=site_id to=site_id fromIndex=stores > > score=max}{!func}geodist(){!geofilt}", > > "d":"100", > > "sfield":"coordinates", > > "pt":"54.69738679999999,25.224815300000046" > > "fq":"{!edismax qf=\"title description\" v=\"iphone xr 64gb\" mm=3<90%}", > > "fl":"score,*,store:[subquery fromIndex=stores]", > > "store.q":"{!terms f=site_id v=$row.site_id}", "store.rows":"1", > "store.fl > > ":"*,score", > > "store.fq":"{!geofilt}", > > "store.sfield":"coordinates", > > "store.d":"100", "store.pt":"54.69738679999999,25.224815300000046", > "sort > > ":"score desc", > > "hl":"on", "hl.simple.pre":"<strong>", "hl.simple.post":"</strong>", > > "hl.q":"{!edismax qf=$hl.fl v=\"iphone xr 64gb\"}", "hl.fl":"title > > description", "hl.method":"unified", "group.field":"site_id", "group": > > "true" > > "group.limit":"2", > > > > On Tue, Nov 12, 2019 at 6:54 PM Vasily Ogar <ogar.vas...@gmail.com> > wrote: > > > >> Thank you for advice, now it working as expected. Maybe you know how to > >> integrate with dismax? > >> > >> On Tue, Nov 12, 2019 at 6:10 PM Mikhail Khludnev <m...@apache.org> > wrote: > >> > >>> tlrd; > >>> I noticed func under fq that make no sense. Only q or sort yield > scores. > >>> > >>> On Tue, Nov 12, 2019 at 6:43 PM Vasily Ogar <ogar.vas...@gmail.com> > >>> wrote: > >>> > >>> > First of all, thank you for your help. > >>> > Now it doesn't show any errors, but somehow score is based on the > >>> title and > >>> > description but not on the geodist. > >>> > "params":{ "hl":"on", "pt":"54.69738679999999,25.224815300000046", > >>> > "fl":"score,*,store:[subquery > >>> > fromIndex=stores]", "store.rows":"1", "fq":"{!join from=site_id > >>> to=site_id > >>> > fromIndex=stores score=max}{!func}geodist()", "store.sort":"geodist() > >>> asc", > >>> > "hl.simple.pre":"</em>", "store.q":"{!terms f=site_id > >>> v=$row.site_id}", " > >>> > store.sfield":"coordinates", "hl.fl":"title description", > >>> "group.field": > >>> > "site_id", "_":"1573559644298", "group":"true", > >>> "store.fq":"{!geofilt}", "d > >>> > ":"100", "{!geofilt}":"", "group.limit":"2", "store.d":"100", " > >>> store.pt": > >>> > "54.69738679999999,25.224815300000046", "store.fl":"*,score", > >>> "sort":"score > >>> > desc", "sfield":"coordinates", "q":"title:\"iphone xr 64gb\"", > >>> > "group.main": > >>> > "true", "hl.simple.post":"</em>", "debugQuery":"on"} > >>> > > >>> > Here is debug: > >>> > "debug":{ "rawquerystring":"title:\"iphone xr 64gb\"", > >>> > "querystring":"title:\"iphone > >>> > xr 64gb\"", "parsedquery":"PhraseQuery(title:\"iphon xr 64gb\")", " > >>> > parsedquery_toString":"title:\"iphon xr 64gb\"", "explain":{ > "product: > >>> > https://www.ideal.lt/iphone/iphone-xr/iphone-xr-64gb-yellow > >>> ":"\n3.9714882 > >>> > = > >>> > weight(title:\"iphon xr 64gb\" in 568) [SchemaSimilarity], result > of:\n > >>> > 3.9714882 = score(freq=1.0), product of:\n 6.8681135 = idf, sum of:\n > >>> > 1.1837479 = idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) > >>> from:\n 459 > >>> > = n, number of documents containing term\n 1500 = N, total number of > >>> > documents with field\n 3.3156862 = idf, computed as log(1 + (N - n + > >>> 0.5) / > >>> > (n + 0.5)) from:\n 54 = n, number of documents containing term\n 1500 > >>> = N, > >>> > total number of documents with field\n 2.3686793 = idf, computed as > >>> log(1 + > >>> > (N - n + 0.5) / (n + 0.5)) from:\n 140 = n, number of documents > >>> containing > >>> > term\n 1500 = N, total number of documents with field\n 0.5782502 = > tf, > >>> > computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:\n > 1.0 = > >>> > phraseFreq=1.0\n 1.2 = k1, term saturation parameter\n 0.75 = b, > length > >>> > normalization parameter\n 4.0 = dl, length of field\n 8.384666 = > avgdl, > >>> > average length of field\n", "product: > >>> > https://www.ideal.lt/iphone/iphone-xr/iphone-xr-64gb-white > ":"\n3.9714882 > >>> = > >>> > weight(title:\"iphon xr 64gb\" in 569) [SchemaSimilarity], result > of:\n > >>> > 3.9714882 = score(freq=1.0), product of:\n 6.8681135 = idf, sum of:\n > >>> > 1.1837479 = idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) > >>> from:\n 459 > >>> > = n, number of documents containing term\n 1500 = N, total number of > >>> > documents with field\n 3.3156862 = idf, computed as log(1 + (N - n + > >>> 0.5) / > >>> > (n + 0.5)) from:\n 54 = n, number of documents containing term\n 1500 > >>> = N, > >>> > total number of documents with field\n 2.3686793 = idf, computed as > >>> log(1 + > >>> > (N - n + 0.5) / (n + 0.5)) from:\n 140 = n, number of documents > >>> containing > >>> > term\n 1500 = N, total number of documents with field\n 0.5782502 = > tf, > >>> > computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:\n > 1.0 = > >>> > phraseFreq=1.0\n 1.2 = k1, term saturation parameter\n 0.75 = b, > length > >>> > normalization parameter\n 4.0 = dl, length of field\n 8.384666 = > avgdl, > >>> > average length of field\n", "product: > >>> > https://istore.lt/iphone-xr-64gb-blue.html":"\n3.9714882 = > >>> > weight(title:\"iphon xr 64gb\" in 28) [SchemaSimilarity], result > of:\n > >>> > 3.9714882 = score(freq=1.0), product of:\n 6.8681135 = idf, sum of:\n > >>> > 1.1837479 = idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) > >>> from:\n 459 > >>> > = n, number of documents containing term\n 1500 = N, total number of > >>> > documents with field\n 3.3156862 = idf, computed as log(1 + (N - n + > >>> 0.5) / > >>> > (n + 0.5)) from:\n 54 = n, number of documents containing term\n 1500 > >>> = N, > >>> > total number of documents with field\n 2.3686793 = idf, computed as > >>> log(1 + > >>> > (N - n + 0.5) / (n + 0.5)) from:\n 140 = n, number of documents > >>> containing > >>> > term\n 1500 = N, total number of documents with field\n 0.5782502 = > tf, > >>> > computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:\n > 1.0 = > >>> > phraseFreq=1.0\n 1.2 = k1, term saturation parameter\n 0.75 = b, > length > >>> > normalization parameter\n 4.0 = dl, length of field\n 8.384666 = > avgdl, > >>> > average length of field\n", "product: > >>> > https://istore.lt/iphone-xr-64gb-coral.html":"\n3.9714882 = > >>> > weight(title:\"iphon xr 64gb\" in 29) [SchemaSimilarity], result > of:\n > >>> > 3.9714882 = score(freq=1.0), product of:\n 6.8681135 = idf, sum of:\n > >>> > 1.1837479 = idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) > >>> from:\n 459 > >>> > = n, number of documents containing term\n 1500 = N, total number of > >>> > documents with field\n 3.3156862 = idf, computed as log(1 + (N - n + > >>> 0.5) / > >>> > (n + 0.5)) from:\n 54 = n, number of documents containing term\n 1500 > >>> = N, > >>> > total number of documents with field\n 2.3686793 = idf, computed as > >>> log(1 + > >>> > (N - n + 0.5) / (n + 0.5)) from:\n 140 = n, number of documents > >>> containing > >>> > term\n 1500 = N, total number of documents with field\n 0.5782502 = > tf, > >>> > computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:\n > 1.0 = > >>> > phraseFreq=1.0\n 1.2 = k1, term saturation parameter\n 0.75 = b, > length > >>> > normalization parameter\n 4.0 = dl, length of field\n 8.384666 = > avgdl, > >>> > average length of field\n"}, "QParser":"LuceneQParser", > >>> > "filter_queries":["{!join > >>> > from=site_id to=site_id fromIndex=stores > score=max}{!func}geodist()"], > >>> " > >>> > parsed_filter_queries":["OtherCoreJoinQuery(OtherCoreJoinQuery > >>> > [fromIndex=stores, fromCoreOpenTime=3373417389901342 extends > >>> > SameCoreJoinQuery > >>> > > >>> > > >>> > [fromQuery=ShapeFieldCacheDistanceValueSource(org.apache.lucene.spatial.prefix.PointPrefixTreeFieldCacheProvider@2bfc8ad8 > >>> > , > >>> > Pt(x=25.224815300000046,y=54.69738679999999)), fromField=site_id, > >>> > toField=site_id, scoreMode=Max]])"], } > >>> > > >>> > On Tue, Nov 12, 2019 at 12:48 PM Mikhail Khludnev <m...@apache.org> > >>> wrote: > >>> > > >>> > > Hello, > >>> > > It seems like I breached the limit on unconscious replies in > mailing > >>> list > >>> > > I'd rather start with this: > >>> > > q={!join from=site_id to=site_id fromIndex=stores > >>> > > score=max}+{!geofilt} > >>> > > > >>> > > > >>> > > >>> > {!func}geodist()&sfield=coordinates&pt=54.69738679999999,25.224815300000046&d=10 > >>> > > > >>> > > > >>> > > On Mon, Nov 11, 2019 at 11:11 PM Mikhail Khludnev <m...@apache.org > > > >>> > wrote: > >>> > > > >>> > > > Is it something like > >>> https://issues.apache.org/jira/browse/SOLR-10673 > >>> > ? > >>> > > > > >>> > > > On Mon, Nov 11, 2019 at 3:47 PM Vasily Ogar < > ogar.vas...@gmail.com > >>> > > >>> > > wrote: > >>> > > > > >>> > > >> it's show nothing because I got an error > >>> > > >> "metadata":[ > "error-class","org.apache.solr.common.SolrException", > >>> > > >> "root-error-class","org.apache.solr.search.SyntaxError"], > >>> > > >> "msg":"org.apache.solr.search.SyntaxError: > >>> > > >> geodist - not enough parameters:[]", > >>> > > >> > >>> > > >> If I set parameters then I got another error > >>> > > >> "metadata":[ > "error-class","org.apache.solr.common.SolrException", > >>> > > >> "root-error-class","org.apache.solr.common.SolrException"], > >>> "msg":"A > >>> > > >> ValueSource isn't directly available from this field. Instead > try > >>> a > >>> > > query > >>> > > >> using the distance as the score.", > >>> > > >> > >>> > > >> On Mon, Nov 11, 2019 at 1:36 PM Mikhail Khludnev < > m...@apache.org > >>> > > >>> > > wrote: > >>> > > >> > >>> > > >> > Hello, Vasily. > >>> > > >> > Why not? What have you got in debugQuery=true? > >>> > > >> > > >>> > > >> > On Mon, Nov 11, 2019 at 1:19 PM Vasily Ogar < > >>> ogar.vas...@gmail.com> > >>> > > >> wrote: > >>> > > >> > > >>> > > >> > > Hello, > >>> > > >> > > Is it possible to sort by score in join by geodist()? For > >>> > instance, > >>> > > >> > > something like this > >>> > > >> > > q={!join from=site_id to=site_id fromIndex=stores score=max} > >>> > > >> > > +{!func}gedist() +{!geofilt sfield=coordinates > >>> > > >> > > pt=54.69738679999999,25.224815300000046 d=10} > >>> > > >> > > sort=score desc > >>> > > >> > > Thank you > >>> > > >> > > > >>> > > >> > > >>> > > >> > > >>> > > >> > -- > >>> > > >> > Sincerely yours > >>> > > >> > Mikhail Khludnev > >>> > > >> > > >>> > > >> > >>> > > > > >>> > > > > >>> > > > -- > >>> > > > Sincerely yours > >>> > > > Mikhail Khludnev > >>> > > > > >>> > > > >>> > > > >>> > > -- > >>> > > Sincerely yours > >>> > > Mikhail Khludnev > >>> > > > >>> > > >>> > >>> > >>> -- > >>> Sincerely yours > >>> Mikhail Khludnev > >>> > >> > -- Sincerely yours Mikhail Khludnev