Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Résultat incorrect avec limit = 1 #644

Open
smarchais22 opened this issue Oct 15, 2020 · 1 comment
Open

Résultat incorrect avec limit = 1 #644

smarchais22 opened this issue Oct 15, 2020 · 1 comment
Assignees

Comments

@smarchais22
Copy link

Bonjour, lorsque je fais une requête avec le paramètre limit=1 le résultat obtenu ne correspond pas au score le plus élevé

http://MY_HOST:90/search/?q=18+RUE+DE+LA+GARE+PLOEUC+SUR+LIE+22150+PLOEUC+L+HERMITAGE

{"type": "FeatureCollection", "version": "draft", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-2.758516, 48.346747]}, "properties": {"label": "18 Rue de la Gare 22150 Pl\u0153uc-L'Hermitage", "score": 0.6240714285714285, "housenumber": "18", "id": "222030055F", "citycode": "22203", "type": "housenumber", "name": "18 Rue de la Gare", "postcode": "22150", "city": "Pl\u0153uc-L'Hermitage", "departement": "C\u00f4tes-d'Armor", "region": "Bretagne", "importance": 0.2755, "street": "Rue de la Gare"}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-2.753944, 48.343328]}, "properties": {"label": "18 Rue de la Cl\u00f4ture Neuve 22150 Pl\u0153uc-L'Hermitage", "score": 0.5594318181818182, "housenumber": "18", "id": "222030015M", "citycode": "22203", "type": "housenumber", "name": "18 Rue de la Cl\u00f4ture Neuve", "postcode": "22150", "city": "Pl\u0153uc-L'Hermitage", "departement": "C\u00f4tes-d'Armor", "region": "Bretagne", "importance": 0.2475, "street": "Rue de la Cl\u00f4ture Neuve"}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-2.775629, 48.351643]}, "properties": {"label": "Sur la Cote Ploeuc 22150 Pl\u0153uc-L'Hermitage", "score": 0.5356636363636362, "id": "22203C017H", "citycode": "22203", "type": "street", "name": "Sur la Cote Ploeuc", "postcode": "22150", "city": "Pl\u0153uc-L'Hermitage", "departement": "C\u00f4tes-d'Armor", "region": "Bretagne", "importance": 0.1923}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-2.740843, 48.32835]}, "properties": {"label": "Moulin de la Lande Ploeuc 22150 Pl\u0153uc-L'Hermitage", "score": 0.5210237762237762, "id": "22203D185C", "citycode": "22203", "type": "street", "name": "Moulin de la Lande Ploeuc", "postcode": "22150", "city": "Pl\u0153uc-L'Hermitage", "departement": "C\u00f4tes-d'Armor", "region": "Bretagne", "importance": 0.1928}}, {"type": "Feature", "geometry": {"type": "Point", "coordinates": [-2.755229, 48.346485]}, "properties": {"label": "Rue de la Tr\u00e8ve 22150 Pl\u0153uc-L'Hermitage", "score": 0.49576363636363635, "id": "222030105K", "citycode": "22203", "type": "street", "name": "Rue de la Tr\u00e8ve", "postcode": "22150", "city": "Pl\u0153uc-L'Hermitage", "departement": "C\u00f4tes-d'Armor", "region": "Bretagne", "importance": 0.2034}}], "attribution": "BANO", "licence": "ODbL", "query": "18 RUE DE LA GARE PLOEUC SUR LIE 22150 PLOEUC L HERMITAGE", "limit": 5}

http://MY_HOST:90/search/?q=18+RUE+DE+LA+GARE+PLOEUC+SUR+LIE+22150+PLOEUC+L+HERMITAGE&limit=1

{"type": "FeatureCollection", "version": "draft", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-2.751385, 48.372448]}, "properties": {"label": "La Haie 22150 Pl\u0153uc-L'Hermitage", "score": 0.404353312788906, "id": "22203C853S", "citycode": "22203", "type": "street", "name": "La Haie", "postcode": "22150", "city": "Pl\u0153uc-L'Hermitage", "departement": "C\u00f4tes-d'Armor", "region": "Bretagne", "importance": 0.1767}}], "attribution": "BANO", "licence": "ODbL", "query": "18 RUE DE LA GARE PLOEUC SUR LIE 22150 PLOEUC L HERMITAGE", "limit": 1}

Lorsque j'ajoute le paramètre postcode cela fonctionne bien
http://MY_HOST:90/search/?q=18+RUE+DE+LA+GARE+PLOEUC+SUR+LIE+PLOEUC+L+HERMITAGE&limit=1&postcode=22150

{"type": "FeatureCollection", "version": "draft", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [-2.758516, 48.346747]}, "properties": {"label": "18 Rue de la Gare 22150 Pl\u0153uc-L'Hermitage", "score": 0.5977727272727272, "housenumber": "18", "id": "222030055F", "citycode": "22203", "type": "housenumber", "name": "18 Rue de la Gare", "postcode": "22150", "city": "Pl\u0153uc-L'Hermitage", "departement": "C\u00f4tes-d'Armor", "region": "Bretagne", "importance": 0.2755, "street": "Rue de la Gare"}}], "attribution": "BANO", "licence": "ODbL", "query": "18 RUE DE LA GARE PLOEUC SUR LIE PLOEUC L HERMITAGE", "filters": {"postcode": "22150"}, "limit": 1}
@cquest
Copy link
Member

cquest commented Nov 9, 2020

Le paramètre LIMIT modifie non seulement le nombre de réponses retournées, mais a un effet de bord en limitant trop vite la recherche dès qu'on a trouvé des résultats.

Voici les EXPLAIN des deux avec LIMIT 1 et 10

> EXPLAIN 18 rue de la gare ploeuc sur lie 22150 ploeuc l'hermitagr LIMIT 1
[4.298] Taken tokens: [<Token pleuk>, <Token pleuk>, <Token 22150>]
[4.312] Common tokens: [<Token li>, <Token lagar>, <Token gar>, <Token l>, <Token sur>, <Token ru>, <Token la>, <Token de>]
[4.318] Housenumbers token: [<Token dix>, <Token ui>]
[4.323] Not found tokens: [<Token lermitagr>, <Token ermitagr>]
[4.328] Filters: []
[4.335] ** ONLY_COMMONS_BUT_GEOHASH_TRY_AUTOCOMPLETE_COLLECTOR **
[4.341] ** NO_TOKENS_BUT_HOUSENUMBERS_AND_GEOHASH **
[4.345] ** NO_AVAILABLE_TOKENS_ABORT **
[4.349] ** ONLY_COMMONS **
[4.355] ** NO_MEANINGFUL_BUT_COMMON_TRY_AUTOCOMPLETE_COLLECTOR **
[4.359] ** ONLY_COMMONS_TRY_AUTOCOMPLETE_COLLECTOR **
[4.363] ** BUCKET_WITH_MEANINGFUL **
[4.375] New bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150'] and limit 10
[5.148] 10 ids in bucket so far
[5.160] New bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150'] and limit 0
[5.732] 100 ids in bucket so far
[5.739] ** REDUCE_WITH_OTHER_COMMONS **
[5.749] Now considering also common token li
[5.757] New bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150', 'w|li'] and limit 0
[6.134] 0 ids in bucket so far
[6.151] ** ENSURE_GEOHASH_RESULTS_ARE_INCLUDED_IF_CENTER_IS_GIVEN **
[6.157] ** FUZZY_COLLECTOR **
[6.169] Fuzzy on. Trying with [<Token lermitagr>, <Token ermitagr>].
[6.184] Going fuzzy with lermitagr and ['w|pleuk', 'w|pleuk', 'w|22150', 'w|li', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de']
[9.070] Going fuzzy with ermitagr and ['w|pleuk', 'w|pleuk', 'w|22150', 'w|li', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de']
[11.59] Fuzzy on. Trying with [<Token pleuk>, <Token pleuk>, <Token 22150>, <Token li>].
[11.61] Going fuzzy with pleuk and ['w|pleuk', 'w|22150', 'w|li', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de']
[13.32] Going fuzzy with pleuk and ['w|pleuk', 'w|22150', 'w|li', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de']
[14.92] Going fuzzy with li and ['w|pleuk', 'w|pleuk', 'w|22150', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de']
[15.91] Found fuzzy candidates ['lu', 'lo', 'lai']
[15.93] Adding to bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de', 'w|lu']
[16.51] 0 ids in bucket so far
[16.53] Adding to bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de', 'w|lo']
[17.01] 0 ids in bucket so far
[17.03] Adding to bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de', 'w|lai']
[17.40] 0 ids in bucket so far
[17.42] Fuzzy on. Trying with [<Token pleuk>, <Token pleuk>, <Token 22150>, <Token li>].
[17.44] Going fuzzy with pleuk and ['w|pleuk', 'w|22150', 'w|li']
[19.05] Going fuzzy with pleuk and ['w|pleuk', 'w|22150', 'w|li']
[20.77] Going fuzzy with li and ['w|pleuk', 'w|pleuk', 'w|22150']
[21.78] Found fuzzy candidates ['lu', 'lo', 'lai']
[21.79] Adding to bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150', 'w|lu']
[22.22] 1 ids in bucket so far
[22.23] ** AUTOCOMPLETE_MEANINGFUL_COLLECTOR **
[22.24] Autocompleting ermitagr
[22.44] Found tokens to autocomplete set()
[22.45] ** EXTEND_RESULTS_EXTRAPOLING_RELATIONS **
[22.45] ** EXTEND_RESULTS_REDUCING_TOKENS **
[22.46] Computing results
[22.47] Done getting results data
[22.83] Done computing results
Le Champ Devant l'Hus 22150 Plœuc-L'Hermitage (z9N9r | importance: 0.0188/0.1, str_distance: 0.4348/1.0)


> EXPLAIN 18 rue de la gare ploeuc sur lie 22150 ploeuc l'hermitagr LIMIT 10
[5.262] Taken tokens: [<Token pleuk>, <Token pleuk>, <Token 22150>]
[5.277] Common tokens: [<Token li>, <Token lagar>, <Token gar>, <Token l>, <Token sur>, <Token ru>, <Token la>, <Token de>]
[5.283] Housenumbers token: [<Token dix>, <Token ui>]
[5.288] Not found tokens: [<Token lermitagr>, <Token ermitagr>]
[5.293] Filters: []
[5.300] ** ONLY_COMMONS_BUT_GEOHASH_TRY_AUTOCOMPLETE_COLLECTOR **
[5.307] ** NO_TOKENS_BUT_HOUSENUMBERS_AND_GEOHASH **
[5.311] ** NO_AVAILABLE_TOKENS_ABORT **
[5.316] ** ONLY_COMMONS **
[5.322] ** NO_MEANINGFUL_BUT_COMMON_TRY_AUTOCOMPLETE_COLLECTOR **
[5.326] ** ONLY_COMMONS_TRY_AUTOCOMPLETE_COLLECTOR **
[5.331] ** BUCKET_WITH_MEANINGFUL **
[5.400] New bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150'] and limit 10
[6.019] 10 ids in bucket so far
[6.031] New bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150'] and limit 0
[6.481] 100 ids in bucket so far
[6.489] ** REDUCE_WITH_OTHER_COMMONS **
[6.500] Now considering also common token li
[6.508] New bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150', 'w|li'] and limit 0
[6.851] 0 ids in bucket so far
[6.869] ** ENSURE_GEOHASH_RESULTS_ARE_INCLUDED_IF_CENTER_IS_GIVEN **
[6.876] ** FUZZY_COLLECTOR **
[6.888] Fuzzy on. Trying with [<Token lermitagr>, <Token ermitagr>].
[6.905] Going fuzzy with lermitagr and ['w|pleuk', 'w|pleuk', 'w|22150', 'w|li', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de']
[10.06] Going fuzzy with ermitagr and ['w|pleuk', 'w|pleuk', 'w|22150', 'w|li', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de']
[12.88] Fuzzy on. Trying with [<Token pleuk>, <Token pleuk>, <Token 22150>, <Token li>].
[12.91] Going fuzzy with pleuk and ['w|pleuk', 'w|22150', 'w|li', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de']
[14.83] Going fuzzy with pleuk and ['w|pleuk', 'w|22150', 'w|li', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de']
[16.74] Going fuzzy with li and ['w|pleuk', 'w|pleuk', 'w|22150', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de']
[17.94] Found fuzzy candidates ['lu', 'lo', 'lai']
[17.96] Adding to bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de', 'w|lu']
[18.46] 0 ids in bucket so far
[18.48] Adding to bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de', 'w|lo']
[19.01] 0 ids in bucket so far
[19.03] Adding to bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150', 'w|lagar', 'w|gar', 'w|l', 'w|sur', 'w|ru', 'w|la', 'w|de', 'w|lai']
[19.41] 0 ids in bucket so far
[19.45] Fuzzy on. Trying with [<Token pleuk>, <Token pleuk>, <Token 22150>, <Token li>].
[19.46] Going fuzzy with pleuk and ['w|pleuk', 'w|22150', 'w|li']
[21.31] Going fuzzy with pleuk and ['w|pleuk', 'w|22150', 'w|li']
[23.25] Going fuzzy with li and ['w|pleuk', 'w|pleuk', 'w|22150']
[24.31] Found fuzzy candidates ['lu', 'lo', 'lai']
[24.33] Adding to bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150', 'w|lu']
[24.69] 1 ids in bucket so far
[24.71] Adding to bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150', 'w|lo']
[25.13] 3 ids in bucket so far
[25.15] Adding to bucket with keys ['w|pleuk', 'w|pleuk', 'w|22150', 'w|lai']
[25.64] 5 ids in bucket so far
[25.66] ** AUTOCOMPLETE_MEANINGFUL_COLLECTOR **
[25.67] Autocompleting ermitagr
[25.90] Found tokens to autocomplete set()
[25.91] ** EXTEND_RESULTS_EXTRAPOLING_RELATIONS **
[36.76] Adding to bucket with keys ['w|pleuk', 'w|22150']
[37.21] 98 ids in bucket so far
[37.22] No relation extrapolated.
[37.23] ** EXTEND_RESULTS_REDUCING_TOKENS **
[37.24] Computing results
[37.26] Done getting results data
[52.50] Done computing results
18 Rue de la Gare 22150 Plœuc-L'Hermitage (rX1np | importance: 0.0276/0.1, str_distance: 0.7313/1.0)
18 Rue de la Clôture Neuve 22150 Plœuc-L'Hermitage (MoG6m | importance: 0.0248/0.1, str_distance: 0.646/1.0)
18 Rue Village de la Cote 22150 Plœuc-L'Hermitage (vDzwr | importance: 0.0238/0.1, str_distance: 0.6304/1.0)
Rue de la Croix Bouvet 22150 Plœuc-L'Hermitage (n8VgE | importance: 0.0254/0.1, str_distance: 0.5689/1.0)
18 Rue des Écoles 22150 Plœuc-L'Hermitage (9OWmJ | importance: 0.0266/0.1, str_distance: 0.5666/1.0)
Rue de la Porte Hugues 22150 Plœuc-L'Hermitage (7O7Aj | importance: 0.0221/0.1, str_distance: 0.5705/1.0)
18 Rue des Ormes 22150 Plœuc-L'Hermitage (1Qz9R | importance: 0.0225/0.1, str_distance: 0.5674/1.0)
18 Rue du Collège 22150 Plœuc-L'Hermitage (WmVRE | importance: 0.0234/0.1, str_distance: 0.5635/1.0)
18 Rue des Mésanges 22150 Plœuc-L'Hermitage (VlRjX | importance: 0.0224/0.1, str_distance: 0.5603/1.0)
18 Rue du Chateau Deau 22150 Plœuc-L'Hermitage (z9NB8 | importance: 0.0231/0.1, str_distance: 0.5542/1.0)
52.9 ms — 1 run(s) — 10 results

Pour éviter cet effet, il serait possible d'avoir une valeur minimale de LIMIT durant la phase de recherche (par exemple 10) et de ne retourner que le nombre de valeurs correspondant au LIMIT fournit.

@cquest cquest self-assigned this Nov 22, 2020
@cquest cquest added this to the Next milestone Nov 22, 2020
@jdesboeufs jdesboeufs removed this from the 1.1.0 milestone Apr 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants