【发布时间】:2019-01-15 18:24:30
【问题描述】:
我一直在使用 Algolia 自动完成 places.js 库。当您使用该库时,您会得到一个建议列表,例如
{
"query": "pari",
"suggestion": {
"name": "Paris",
"administrative": "Île-de-France",
"country": "France",
"countryCode": "fr",
"type": "city",
"latlng": {
"lat": 48.8546,
"lng": 2.34771
},
"postcode": "75000",
"highlight": {
"name": "<em>Pari</em>s",
"administrative": "Île-de-France",
"country": "France"
},
"value": "Paris, Île-de-France, France"
}
}
我需要使用 php 客户端并为我自己的应用程序 api 返回一个建议列表,例如
$places = \AlgoliaSearch\Client::initPlaces();
$result = $places->search($term, [
'type' => ['city', 'country', 'address'],
'language' => 'en',
'aroundLatLngViaIP' => false,
]);
dd($result);
但是,当您使用 php 客户端(请注意,我在本例中使用的是 laravel scout)时,您不会获得建议列表,即在您可以返回给最终用户的响应 - 您最终会得到以下响应?
{
"hits": [{
"objectID": "145746683_7444",
"locale_names": {
"default": ["Paris"],
},
"city": {
"default": ["Paris"],
},
"county": {
"default": ["Paris"],
},
"administrative": ["Île-de-France"],
"country": {
"default": "France",
},
"country_code": "fr",
"postcode": ["75000"],
"population": 2243833,
"_geoloc": {
"lat": 48.8564,
"lng": 2.3521
},
"_highlightResult": {
"locale_names": {
"default": [{
"value": "<em>Paris</em>",
"fullyHighlighted": true,
"matchedWords": ["paris"],
"matchLevel": "full"
}]
},
}
}],
"nbHits": 1,
"query": "Paris"
}
【问题讨论】:
标签: algolia