reduce importance when computed from search rank

This commit is contained in:
Sarah Hoffmann 2024-02-09 09:16:11 +01:00
parent dc1baaa0af
commit c6d40d4bf4
5 changed files with 5 additions and 5 deletions

View File

@ -130,7 +130,7 @@ BEGIN
-- Still nothing? Fall back to a default.
IF result.importance is null THEN
result.importance := 0.75001 - (rank_search::float / 40);
result.importance := 0.40001 - (rank_search::float / 75);
END IF;
{% if 'secondary_importance' in db.tables %}

View File

@ -233,7 +233,7 @@ class BaseResult:
of the value or an artificial value computed from the place's
search rank.
"""
return self.importance or (0.7500001 - (self.rank_search/40.0))
return self.importance or (0.40001 - (self.rank_search/75.0))
def localize(self, locales: Locales) -> None:

View File

@ -700,7 +700,7 @@ class PlaceSearch(AbstractSearch):
or (details.viewbox is not None and details.viewbox.area < 0.5):
sql = sql.order_by(
penalty - sa.case((tsearch.c.importance > 0, tsearch.c.importance),
else_=0.75001-(sa.cast(tsearch.c.search_rank, sa.Float())/40)))
else_=0.40001-(sa.cast(tsearch.c.search_rank, sa.Float())/75)))
sql = sql.add_columns(t.c.importance)

View File

@ -77,7 +77,7 @@ def test_search_details_minimal():
'admin_level': 15,
'names': {},
'localname': '',
'calculated_importance': pytest.approx(0.0000001),
'calculated_importance': pytest.approx(0.00001),
'rank_address': 30,
'rank_search': 30,
'isarea': False,

View File

@ -37,7 +37,7 @@ def test_minimal_detailed_result():
assert res.lon == 23.1
assert res.lat == 0.5
assert res.calculated_importance() == pytest.approx(0.0000001)
assert res.calculated_importance() == pytest.approx(0.00001)
def test_detailed_result_custom_importance():
res = DetailedResult(SourceTable.PLACEX,