解析:查询类属性并按邻近度排序

Posted

技术标签:

【中文标题】解析:查询类属性并按邻近度排序【英文标题】:Parse: query class property and sort on proximity 【发布时间】:2019-12-15 17:20:43 【问题描述】:

我正在使用 Parse 作为列出餐厅的应用程序的后端。我希望用户查询餐厅(例如 Subway),并在搜索结果顶部附近列出最近的餐厅。换句话说,按接近度排序。我的所有位置都有地理点。

到目前为止我的代码:

var query = new Parse.Query('Restaurant');

query.fullText( 'name', 'Subway );

query.find()
then(function( results )                
    populateList( results );
 )
.catch( function( error ) 
    // There was an error.
 );

【问题讨论】:

【参考方案1】:

你必须这样做:

var query = new Parse.Query('Restaurant');

query.fullText('name', 'Subway');
query.near('theNameOfTheFieldThatContainsTheRestaurantLocation', theUserLocation);

query.limit(10);

query.find()
  .then(function (results) 
    populateList(results);
  )
  .catch(function (error) 
    // There was an error.
  );

参考:https://docs.parseplatform.org/js/guide/#parsegeopoint

【讨论】:

我无法让它工作。好像子查询不支持 query.near ??? 您收到的错误信息是什么?如您所见here,子查询或复合查询不支持地理查询。 我收到错误代码 1 返回,这是一个内部服务器错误。 nearfullText 查询单独工作。 我明白了。我认为他们可能不会一起工作。我认为您不能同时创建具有全文搜索和地理查询的查询。您介意在项目 GitHub 存储库中打开一个问题以进行进一步调查吗?

以上是关于解析:查询类属性并按邻近度排序的主要内容,如果未能解决你的问题,请参考以下文章

C#中,某一多属性类的排序该如何实现?不用LinQ。

《C#零基础入门之百识百例》(八十四)系统类List列表类解析 -- 扑克排序

《C#零基础入门之百识百例》(八十四)系统类List列表类解析 -- 扑克排序

Laravel Lighthouse - 按关系的属性对查询进行排序

python面度对象(属性,类方法,静态方法)

表示位置和基于邻近度查询的有效方法?