Hi Shawn,

Thanks for the response.

In the problem example in the below email I had used a hypothetical example for 
my query.

Actually, we are trying to search for the name and specialty combination(for 
ex:- paul orthodontist) of the dentist sorted by the highest score and distance 
(in case of same dentists matching the free text criteria).

Below are the Solr logs.

2018-01-05 00:13:05.835 INFO  (qtp1348949648-14) [   x:provider_collection] 
o.a.s.c.S.Request [provider_collection]  webapp=/solr path=/select 
params={q=distance:{!geofilt+sfield%3Dlocation+pt%3D37.564143,-122.004179+d%3D60.0}&fl=*,distance:mul(geodist(location,37.5641425,-122.004179),0.621371)&start=0&fq=facilityName:"orthodontist"+OR+facilityName:*orthodontist*+OR+facilityName:"paul"+OR+facilityName:*paul*+OR+facilityName:*paul+orthodontist*+OR+facilityName:"paul+orthodontist"+OR+firstName:"orthodontist"+OR+firstName:*orthodontist*+OR+firstName:"paul"+OR+firstName:*paul*+OR+firstName:*paul+orthodontist*+OR+firstName:"paul+orthodontist"+OR+fullName:"orthodontist"+OR+fullName:*orthodontist*+OR+fullName:"paul"+OR+fullName:*paul*+OR+fullName:*paul+orthodontist*+OR+fullName:"paul+orthodontist"+OR+groupPracticeNpi:"orthodontist"+OR+groupPracticeNpi:*orthodontist*+OR+groupPracticeNpi:"paul"+OR+groupPracticeNpi:*paul*+OR+groupPracticeNpi:*paul+orthodontist*+OR+groupPracticeNpi:"paul+orthodontist"+OR+keywords:"orthodontist"+OR+keywords:*orthodontist*+OR+keywords:"paul"+OR+keywords:*paul*+OR+keywords:*paul+orthodontist*+OR+keywords:"paul+orthodontist"+OR+lastName:"orthodontist"+OR+lastName:*orthodontist*+OR+lastName:"paul"+OR+lastName:*paul*+OR+lastName:*paul+orthodontist*+OR+lastName:"paul+orthodontist"+OR+licenseNumber:"orthodontist"+OR+licenseNumber:*orthodontist*+OR+licenseNumber:"paul"+OR+licenseNumber:*paul*+OR+licenseNumber:*paul+orthodontist*+OR+licenseNumber:"paul+orthodontist"+OR+npi:"orthodontist"+OR+npi:*orthodontist*+OR+npi:"paul"+OR+npi:*paul*+OR+npi:*paul+orthodontist*+OR+npi:"paul+orthodontist"+OR+officeName:"orthodontist"+OR+officeName:*orthodontist*+OR+officeName:"paul"+OR+officeName:*paul*+OR+officeName:*paul+orthodontist*+OR+officeName:"paul+orthodontist"+OR+practiceLocationLanguages:"orthodontist"+OR+practiceLocationLanguages:*orthodontist*+OR+practiceLocationLanguages:"paul"+OR+practiceLocationLanguages:*paul*+OR+practiceLocationLanguages:*paul+orthodontist*+OR+practiceLocationLanguages:"paul+orthodontist"+OR+practiceLocationNpi:"orthodontist"+OR+practiceLocationNpi:*orthodontist*+OR+practiceLocationNpi:"paul"+OR+practiceLocationNpi:*paul*+OR+practiceLocationNpi:*paul+orthodontist*+OR+practiceLocationNpi:"paul+orthodontist"+OR+providerLanguages:"orthodontist"+OR+providerLanguages:*orthodontist*+OR+providerLanguages:"paul"+OR+providerLanguages:*paul*+OR+providerLanguages:*paul+orthodontist*+OR+providerLanguages:"paul+orthodontist"+OR+specialty:"orthodontist"+OR+specialty:*orthodontist*+OR+specialty:"paul"+OR+specialty:*paul*+OR+specialty:*paul+orthodontist*+OR+specialty:"paul+orthodontist"&sort=geodist(location,37.564143,-122.004179)+asc,score+desc&rows=10&wt=javabin&version=2}
 hits=577 status=0 QTime=284

2018-01-05 00:13:06.886 INFO  (qtp1348949648-17) [   x:provider_collection] 
o.a.s.c.S.Request [provider_collection]  webapp=/solr path=/admin/ping 
params={wt=javabin&version=2} hits=304592 status=0 QTime=0
2018-01-05 00:13:06.886 INFO  (qtp1348949648-17) [   x:provider_collection] 
o.a.s.c.S.Request [provider_collection]  webapp=/solr path=/admin/ping 
params={wt=javabin&version=2} status=0 QTime=0
2018-01-05 00:13:06.888 INFO  (qtp1348949648-16) [   x:provider_collection] 
o.a.s.c.S.Request [provider_collection]  webapp=/solr path=/admin/ping 
params={wt=javabin&version=2} hits=304592 status=0 QTime=0
2018-01-05 00:13:06.888 INFO  (qtp1348949648-16) [   x:provider_collection] 
o.a.s.c.S.Request [provider_collection]  webapp=/solr path=/admin/ping 
params={wt=javabin&version=2} status=0 QTime=0
2018-01-05 00:13:06.891 INFO  (qtp1348949648-19) [   x:yelp_collection] 
o.a.s.c.S.Request [yelp_collection]  webapp=/solr path=/admin/ping 
params={wt=javabin&version=2} hits=13 status=0 QTime=0
2018-01-05 00:13:06.891 INFO  (qtp1348949648-19) [   x:yelp_collection] 
o.a.s.c.S.Request [yelp_collection]  webapp=/solr path=/admin/ping 
params={wt=javabin&version=2} status=0 QTime=0

Request you to go through the above logs and provide us the recommendation to 
go forward.

Regards,
Deepak

-----Original Message-----
From: Shawn Heisey [mailto:apa...@elyograg.org] 
Sent: Thursday, January 04, 2018 5:17 AM
To: solr-user@lucene.apache.org
Subject: Re: problem with Solr Sorting by score and distance together

On 1/3/2018 6:16 PM, Deepak Udapudi wrote:
> Assume that,  I am searching for car care centers. Solr collection has the 
> data for all the major car care centers. As an example I search for Firestone 
> car care centers in a 5 miles radius. In the search results I am supposed to 
> receive the firestone car care centers list within 5 miles from the specified 
> location and the centers should be sorted in distance order.
> 
> In the solr query handler I have specified the following.
> 
> i)                    I have specified the query condition (q) to be based on 
> distance parameter (basically search for records within a certain distance in 
> miles).
> 
> ii)                   I have specified the filter query  conditions (fq) 
> where fields accepting general text are matching free text input (for ex :- 
> Firestone Carcare)

These should probably be the other way around -- so the q parameter contains 
the user provided query and the distance is a filter.  It's more in line with 
the way I expect things to be done, and it would probably result in more 
efficient performance of the filterCache.  Also, filter queries do not affect 
the score -- at all.  So you're not getting any relevance information from the 
query that your user is typing.

I don't know very much about spatial, but there is a lot of documentation I can 
read.

> iii)                 I have specified the sort condition(sort ) to be based 
> on score(calculated based on the filter query (fq) conditions applied in the 
> 2nd item in the list) and distance. If there are duplicate records matching 
> by score, then distance should be used to order the duplicate records.

Can you provide the entry from solr.log that shows the full query 
request?   Below is the kind of log entry I am talking about.  This was 
obtained by going to the admin UI query tab, typing in "example query", and 
then executing that query.

2018-01-04 13:10:03.042 INFO  (qtp1394336709-1102402) [   x:ncmain] 
o.a.s.c.S.Request [ncmain]  webapp=/solr path=/select 
params={q=example+query&indent=on&wt=json&_=1515071388516} hits=2163
status=0 QTime=4473

Thanks,
Shawn


The information contained in this email message and any attachments is 
confidential and intended only for the addressee(s). If you are not an 
addressee, you may not copy or disclose the information, or act upon it, and 
you should delete it entirely from your email system. Please notify the sender 
that you received this email in error.

Reply via email to