본문 바로가기
개발/ALGOLIA

알고리아 Managing Results(3-37)

by dev_caleb 2022. 4. 27.
728x90

https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/

 

Geo location | Algolia

Geo Search is a way to filter and sort results by distance or within geo-locations.

www.algolia.com

 

Geo Search

Geo Search is a way to filter and sort results by distance or around certain geographical locations. You can limit your results to a street, to a city or cities, to one or more parts of the world. You can sort your results according to how near or far they are to a certain defined geolocation.

Geo offers you various possibilities:

지리 검색은 거리 또는 특정 지리적 위치를 기준으로 결과를 필터링하고 정렬하는 방법입니다. 결과를 거리, 도시 또는 도시, 세계의 하나 이상의 지역으로 제한할 수 있습니다. 특정 정의된 지리적 위치에서 얼마나 가깝거나 먼지에 따라 결과를 정렬할 수 있습니다.
Geo는 다음과 같은 다양한 가능성을 제공합니다.

  • Filter and sort around a set of latitude and longitude coordinates
  • Filter and sort around the user’s location based on their IP address (IPv4 only)
  • Filter by one or more box-shaped geographical areas (bounded boxes)
  • Filter by one or more freely drawn geographical areas (polygons)
  • Sort around a set of latitude and longitude coordinates
  • Sort around the user’s location based on their IP address (IPv4 only)

- 위도 및 경도 좌표 집합을 필터링하고 정렬
- IP 주소를 기준으로 사용자의 위치를 필터링하고 정렬합니다(IPv4만 해당).
- 하나 이상의 상자 모양 지리적 영역(경계 상자)을 기준으로 필터링
- 자유롭게 그려진 하나 이상의 지리적 영역(폴리곤)을 기준으로 필터링
- 위도 및 경도 좌표 집합 정렬
- 사용자의 IP 주소를 기준으로 사용자의 위치 정렬(IPv4만 해당)

Enabling Geo Search by adding geolocation data to records(레코드에 지리 위치 데이터를 추가하여 지리 검색 사용)

To enable the Geo Search feature, geolocation data is required in your records. You must provide geolocation data as a _geoloc attribute that contains the latitude and longitude as lat and lng properties. The coordinates must be numbers, not strings.

Example of a record with one geolocation:

지리 검색 기능을 사용하려면 레코드에 지리 위치 데이터가 필요합니다. 위도와 경도를 lat 및 lng 속성으로 포함하는 _geoloc 속성으로 지리 위치 데이터를 제공해야 합니다. 좌표는 문자열이 아니라 숫자여야 합니다.
지리적 위치가 한 개인 레코드 예제:

 

"_geoloc": {
  "lat": 40.639751,
  "lng": -73.778925
}

Example of a record with multiple locations:

"_geoloc": [
  { "lat": 47.279430, "lng": 5.106450 },
  { "lat": 47.293228, "lng": 5.004570 },
  { "lat": 47.316669, "lng": 5.016670 }
]

Once your records contain geographical information you can do two things:

 

  1. Geographical Filtering
  2. Geographical Ranking

Geographical filtering and sorting#

Geo Search filters results based on a set of geographic coordinates: Only records that fall within a specified set of geolocations will be returned. You can define one or more geographic areas, and send back all records that match the query and fall within the geo-coordinates that you’ve defined.

This is the default behavior. In a later section on this page, you will find ways to refine this behavior by changing boundaries, distance, or precision.

지역 검색은 지리적 좌표 집합을 기준으로 결과를 필터링합니다. 지정된 위치 집합에 속하는 레코드만 반환됩니다. 하나 이상의 지리적 영역을 정의하고 쿼리와 일치하며 정의한 지리적 좌표에 속하는 모든 레코드를 다시 보낼 수 있습니다.
이것이 기본 동작입니다. 이 페이지의 뒷부분에서는 경계, 거리 또는 정밀도를 변경하여 이 동작을 세분화하는 방법에 대해 설명합니다.

Filter around a central point(중심점 주변 필터링)

You can define a central geographical point and show only records that fall within a certain radius of that point. This central point is defined in one of two ways:(중앙 지리적 지점을 정의하고 해당 지점의 특정 반경 내에 속하는 레코드만 표시할 수 있습니다. 이 중심점은 다음 두 가지 방법 중 하나로 정의됩니다.)

  • either it’s to send along with the query
  • or it’s derived using the user’s IP address (supports only IPv4)
    그 쿼리들과 함께 보내거나
    또는 사용자의 IP 주소를 사용하여 파생됨(IPv4만 지원)

The size of this radius depends on the density of the area around the central point. If there are many hits close to the central point, the radius can be small. The fewer hits near the center, the larger the radius will be.

Ranking effect: Radius-based filtering creates a circle within which all results fall. It also creates a ranking based on the distance from that point - records closest to the central point are ranked higher than records further away.

이 반지름의 크기는 중심점 주변의 밀도에 따라 달라집니다. 중심점에 가까운 적중 횟수가 많으면 반경이 작을 수 있다. 중앙 부근의 타구가 적을수록 반경은 커진다.
순위 지정 효과: 반지름 기반 필터링은 모든 결과가 포함되는 원을 만듭니다. 또한 해당 지점으로부터의 거리를 기준으로 순위를 작성합니다. 중심점에 가장 가까운 기록은 멀리 떨어진 기록보다 순위가 높습니다.

 

 

Increasing the distance to find results in(결과를 찾을 수 있는 거리 증가)

The default behavior is to stop finding records after approximately 1,000 matching records. Therefore, the radius of your search could be quite small in dense areas. Imagine the number of cafés in Paris, 1,000 matching records wouldn’t be enough to list them all. You can override this behavior by forcing a larger radius, either by using aroundRadius or minimumAroundRadius. Note that even with a larger radius, the results still match any applied query or filter. The number of results can therefore be low if the query or filters are restrictive, even if you set a huge radius.

This override only applies to radius-based searches, not area-based ones like rectangles and polygons.

기본 동작은 일치하는 레코드가 약 1,000개일 때 레코드 찾기를 중지하는 것입니다. 따라서 조밀한 영역에서는 검색 반경이 매우 작을 수 있습니다. 파리에 있는 카페의 수를 상상해보세요. 1,000개의 일치하는 레코드는 그것들을 모두 나열하기에 충분하지 않을 것입니다. aroundRadius 또는 minimumAroundRadius를 사용하여 더 큰 반경을 강제로 적용하여 이 동작을 재정의할 수 있습니다. 반지름이 더 크더라도 결과는 적용된 쿼리나 필터와 일치합니다. 따라서 쿼리나 필터가 제한적인 경우에는 큰 반경을 설정하더라도 결과 수가 적을 수 있습니다.
이 재정의는 직사각형이나 폴리곤과 같은 영역 기반 검색이 아닌 반경 기반 검색에만 적용됩니다.

Sorting by distance#

If you want to sort but not filter results based on radial distance, you can set the aroundRadius parameter to all. This means your records are ordered but not restrictedbased on their distance from a provided point.

반지름 거리를 기준으로 결과를 정렬하지만 필터링하지 않으려면 aroundRadius 파라미터를 all로 설정할 수 있습니다. 즉, 제공된 지점과의 거리에 따라 기록이 정렬되지만 제한되지는 않습니다.

Filtering inside rectangular or polygonal areas(직사각형 또는 다각형 영역 내부 필터링)

You can restrict results to a given area by setting geometric boundaries in either the shape of a rectangle or other polygon. To restrict results within a given area, you should include the lat and lng of a bounding shape in the search parameters. All results outside of the shape will be excluded from the results.

Ranking effect: Filtering within or around an area doesn’t have any impact on the ranking of results. Additionally, area-based Geo Search doesn’t work in combination with the radius-based Geo Search. When filtering on rectangular or polygonal areas, the engine considers all results within the area geographically equal.
직사각형 또는 다른 다각형의 모양으로 기하학적 경계를 설정하여 결과를 지정된 영역으로 제한할 수 있습니다. 지정된 영역 내에서 결과를 제한하려면 검색 매개변수에 경계 셰이프의 lat 및 lng을 포함해야 합니다. 도형 밖의 모든 결과는 결과에서 제외됩니다.
순위 지정 효과: 영역 내부 또는 주변 필터링은 결과 순위에 영향을 미치지 않습니다. 또한 영역 기반 지리 검색은 반지름 기반 지리 검색과 함께 작동하지 않습니다. 직사각형 또는 다각형 영역에서 필터링할 때 엔진은 영역 내의 모든 결과를 지리적으로 동일하게 간주합니다.

Don’t mix bounding boxes and polygons(경계 상자와 다각형을 혼합하지 마세요)

You can’t use insideBoundingBox and  insidePolygon together. If you provide both, only insideBoundingBox actions will run.

insideBoundingBox and  insidePolygon를 함께 사용할 수 없습니다 둘 다 제공하는 경우 insideBoundingBox 내부 작업만 실행됩니다.

 

For example, you have created an app for a chain of restaurants in the South West US and you want to show the locations of your restaurants on a map:

  • You use a rectangular bounding box to display the South West region of the US. Blue pins indicate cities where you have restaurants.
  • As the user zooms in, you want polygons to mark the boundaries of these cities. Red pins mark the locations of individual restaurants within the polygons.

예를 들어, 미국 남서부에 있는 레스토랑 체인용 앱을 만들었는데 지도에 레스토랑의 위치를 표시하려고 합니다.
직사각형 경계 상자를 사용하여 미국 남서부 지역을 표시할 수 있습니다. 파란색 핀은 레스토랑이 있는 도시를 나타냅니다.
사용자가 확대하면 폴리곤이 이러한 도시의 경계를 표시하려고 합니다. 빨간색 핀은 폴리곤 내의 개별 레스토랑의 위치를 나타냅니다.

 

Since insideBoundingBox takes precedence, you only see blue pins on the map.

For this reason, it isn’t recommended to use a mix of bounding boxes and polygons.

insideBoundingBox가 우선하므로 지도에는 파란색 핀만 표시됩니다.
따라서 경계 상자와 다각형을 함께 사용하지 않는 것이 좋습니다.

 

Geographical ranking(지리적 순위)

Geographical ranking is based on the distance between the geolocation in the search query and the best matching geolocation in the record. For example, when searching around a location, the results can be sorted by distance - the closer the record is to the lat/lng you provided, the higher it is in the results.

Geo criterion in the ranking formula#

For geographical ranking to function, it needs to be present in the ranking formula. The ranking formula contains a Geo criterion which by default is the second ranking criteria in the formula. This criterion is only meaningful when records contain the _geoloc attribute with the corresponding lat and lng properties.

지리적 순위가 기능하려면 순위 공식에 있어야 합니다. 순위 공식은 기본적으로 공식의 두 번째 순위 기준이 되는 Geo 기준을 포함합니다. 이 기준은 레코드에 해당하는 lat 및 lng 속성을 가진 _geoloc 속성이 포함된 경우에만 의미가 있습니다.

Changing precision 정밀도 변경

By default, ranking is based on 10-meter distances, which is the smallest precision Algolia provides. This means that records of 10-meter distance from a central point are ranked higher than records of 20-meter distances, which are ranked higher than records of 30-meter distances, etc. This might not always be useful: imagine looking for the best restaurants within walking distance, 200-meter intervals would be more reasonable. Precision changes this.

기본적으로 순위는 알골리아가 제공하는 가장 작은 정밀도인 10m 거리를 기준으로 한다. 이는 중앙점으로부터 10m 거리의 기록이 20m 거리의 기록보다 높은 순위를 차지하는데, 이는 30m 거리의 기록보다 높은 순위를 차지한다는 것을 의미한다. 이것이 항상 유용하지는 않을 수도 있다: 걸어갈 수 있는 거리, 200미터 간격으로 가장 좋은 식당을 찾는다고 상상해보라. 정밀도는 이것을 변화시킵니다.

Displaying results on a map(지도에 결과 표시)

You can use the latitude and longitude values in your results to plot each record on a map. Check out the tutorial on how to display your results in Google Maps using InstantSearch.

결과의 위도 및 경도 값을 사용하여 지도에 각 레코드를 표시할 수 있습니다. Instant Search를 사용하여 Google 지도에 결과를 표시하는 방법에 대한 자습서를 확인하십시오.

 

 

 

 

 

 

 

 

728x90

'개발 > ALGOLIA' 카테고리의 다른 글

알고리아 Managing Results(3-39)  (0) 2022.04.28
알고리아 Managing Results(3-38)  (0) 2022.04.28
알고리아 Managing Results(3-36)  (0) 2022.04.27
알고리아 Managing Results(3-35)  (0) 2022.04.27
알고리아 Managing Results(3-33)  (0) 2022.04.20