Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 斯芬克斯“;反向;搜索_Search_Sphinx - Fatal编程技术网

Search 斯芬克斯“;反向;搜索

Search 斯芬克斯“;反向;搜索,search,sphinx,Search,Sphinx,我们有一个网站,用户可以在网站上为他们想出售的商品发布广告,广告的参数包括价格、位置、标题和描述。然后可以使用sphinx搜索这些内容,并允许用户指定最小和最大价格、具有搜索半径的位置(使用谷歌地图)等。用户可以选择保存这些搜索,并在出现适合其搜索的新广告时获取电子邮件。问题就在这里:我们希望每次发布广告时都执行反向搜索。以价格、位置、标题和描述为参数,我们希望搜索所有保存的“搜索”,并获得可能找到广告的搜索结果。我认为,min和maxprice应该只在查询中执行,并使用一些Quorom语法来获

我们有一个网站,用户可以在网站上为他们想出售的商品发布广告,广告的参数包括价格、位置、标题和描述。然后可以使用sphinx搜索这些内容,并允许用户指定最小和最大价格、具有搜索半径的位置(使用谷歌地图)等。用户可以选择保存这些搜索,并在出现适合其搜索的新广告时获取电子邮件。问题就在这里:我们希望每次发布广告时都执行反向搜索。以价格、位置、标题和描述为参数,我们希望搜索所有保存的“搜索”,并获得可能找到广告的搜索结果。我认为,min和maxprice应该只在查询中执行,并使用一些Quorom语法来获得标题/描述中至少出现2次或1次的所有广告。我们的问题主要在于地理搜索。我们如何找到“搜索圈”中包含我们新发布位置的所有搜索,而不搜索每个保存的搜索


这是主要问题,对我们提出的解决其他问题的建议的任何评论也是非常受欢迎的。提前感谢/Jenny

sphinx上的标准“地理搜索”支持在前瞻性索引上应该与普通回顾性搜索一样有效

已经为所有保存的搜索建立了sphinx“索引”

使用“ad”作为搜索查询运行查询:-而不是使用固定半径的“过滤器”,您只需使用属性中的半径(即存储在特定查询中的半径)-如果使用API无法直接使用setFilterRange,则需要使用setSelect来创建新的虚拟属性

$cl->setSelect("*,IF(@geodist<radius,1,0) as myfilter");
$cl->setFilter('myfilter',array(1));

$cl->setSelect(“*,IF(@geodist)作为一个“注释”-这种搜索的新兴术语是前瞻性搜索。这可能会帮助您找到相关的背景信息