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
>

Reply via email to