mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-03-09 19:44:07 +00:00
make housenumber search work with non-indexed partials
This commit is contained in:
@@ -167,7 +167,12 @@ class SearchBuilder:
|
|||||||
expected_count = sum(t.count for t in hnrs)
|
expected_count = sum(t.count for t in hnrs)
|
||||||
|
|
||||||
partials = {t.token: t.addr_count for trange in address
|
partials = {t.token: t.addr_count for trange in address
|
||||||
for t in self.query.get_partials_list(trange)}
|
for t in self.query.get_partials_list(trange)
|
||||||
|
if t.is_indexed}
|
||||||
|
|
||||||
|
if not partials:
|
||||||
|
# can happen when none of the partials is indexed
|
||||||
|
return
|
||||||
|
|
||||||
if expected_count < 8000:
|
if expected_count < 8000:
|
||||||
sdata.lookups.append(dbf.FieldLookup('nameaddress_vector',
|
sdata.lookups.append(dbf.FieldLookup('nameaddress_vector',
|
||||||
|
|||||||
@@ -253,13 +253,14 @@ class LegacyQueryAnalyzer(AbstractQueryAnalyzer):
|
|||||||
|
|
||||||
|
|
||||||
def _dump_word_tokens(query: qmod.QueryStruct) -> Iterator[List[Any]]:
|
def _dump_word_tokens(query: qmod.QueryStruct) -> Iterator[List[Any]]:
|
||||||
yield ['type', 'token', 'word_token', 'lookup_word', 'penalty', 'count', 'info']
|
yield ['type', 'token', 'word_token', 'lookup_word', 'penalty', 'count', 'info', 'indexed']
|
||||||
for node in query.nodes:
|
for node in query.nodes:
|
||||||
for tlist in node.starting:
|
for tlist in node.starting:
|
||||||
for token in tlist.tokens:
|
for token in tlist.tokens:
|
||||||
t = cast(LegacyToken, token)
|
t = cast(LegacyToken, token)
|
||||||
yield [tlist.ttype.name, t.token, t.word_token or '',
|
yield [tlist.ttype.name, t.token, t.word_token or '',
|
||||||
t.lookup_word or '', t.penalty, t.count, t.info]
|
t.lookup_word or '', t.penalty, t.count, t.info,
|
||||||
|
'Y' if t.is_indexed else 'N']
|
||||||
|
|
||||||
|
|
||||||
async def create_query_analyzer(conn: SearchConnection) -> AbstractQueryAnalyzer:
|
async def create_query_analyzer(conn: SearchConnection) -> AbstractQueryAnalyzer:
|
||||||
|
|||||||
Reference in New Issue
Block a user