I tried and this way also, but here is another error. { "responseHeader":{ "status":400, "QTime":6, "params":{ "hl":"on", "pt": "54.69738679999999,25.224815300000046", "fl":"score,*,store:[subquery fromIndex=stores]", "store.rows":"1", "fq":"{!edismax qf=\"title description\" v=\"iphone xr 64gb\" mm=3<90%}", "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", "group.limit":"2", " store.d":"100", "store.pt":"54.69738679999999,25.224815300000046", "store.fl ":"*,score", "sort":"score desc", "sfield":"coordinates", "q":"{!join from=site_id to=site_id fromIndex=stores score=max}+{!geofilt} {!func}geodist() ", "hl.simple.post":"</em>", "hl.q":"{!edismax qf=$hl.fl v=\"iphone xr 64gb\"}", "hl.method":"unified", "debugQuery":"on"}}, "error":{ "metadata":[ "error-class","org.apache.solr.common.SolrException", "root-error-class","org.apache.solr.search.SyntaxError"], "msg":"org.apache.solr.search.SyntaxError: Expected ')' at position 8 in 'geodist('", "code":400}}
On Thu, Nov 14, 2019 at 9:05 PM Mikhail Khludnev <m...@apache.org> wrote: > Space matters. Check my snippet once again please. > > On Thu, Nov 14, 2019 at 9:56 PM Vasily Ogar <ogar.vas...@gmail.com> wrote: > > > I tried today with plus but always got same error. > > { "responseHeader":{ "status":400, "QTime":2, "params":{ "hl":"on", "pt": > > "54.69738679999999,25.224815300000046", "fl":"score,*,store:[subquery > > fromIndex=stores]", "store.rows":"1", "fq":"{!edismax qf=\"title > > description\" v=\"iphone xr 64gb\" mm=3<90%}", "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", "group.limit":"2", " > > store.d":"100", "store.pt":"54.69738679999999,25.224815300000046", > > "store.fl > > ":"*,score", "sort":"score desc", "sfield":"coordinates", "q":"{!join > > from=site_id to=site_id fromIndex=stores > > score=max}+{!geofilt}{!func}geodist()", "hl.simple.post":"</em>", > > "hl.q":"{!edismax > > qf=$hl.fl v=\"iphone xr 64gb\"}", "hl.method":"unified", > > "debugQuery":"on"}}, > > "error":{ "metadata":[ > > "error-class","org.apache.solr.common.SolrException", > > "root-error-class","org.apache.solr.parser.ParseException"], > > "msg":"org.apache.solr.search.SyntaxError: > > Cannot parse '+{!geofilt}{!func}geodist()': Encountered \" \")\" \") \"\" > > at line 1, column 26.\nWas expecting one of:\n <EOF> \n <AND> ...\n <OR> > > ...\n <NOT> ...\n \"+\" ...\n \"-\" ...\n <BAREOPER> ...\n \"(\" ...\n > > \"*\" ...\n \"^\" ...\n <QUOTED> ...\n <TERM> ...\n <PREFIXTERM> ...\n > > <WILDTERM> ...\n <REGEXPTERM> ...\n \"[\" ...\n \"{\" ...\n <LPARAMS> > ...\n > > \"filter(\" ...\n <NUMBER> ...\n ", "code":400}} > > > > On Thu, Nov 14, 2019 at 8:45 PM Mikhail Khludnev <m...@apache.org> > wrote: > > > > > 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 > > > > > > > > -- > Sincerely yours > Mikhail Khludnev >