do not count words when in reverse-only mode

This commit is contained in:
Sarah Hoffmann
2021-10-26 11:42:42 +02:00
parent 2c4b798f9b
commit 53dbe58ada
2 changed files with 26 additions and 24 deletions

View File

@@ -99,18 +99,19 @@ class LegacyICUTokenizer(AbstractTokenizer):
""" Recompute frequencies for all name words. """ Recompute frequencies for all name words.
""" """
with connect(self.dsn) as conn: with connect(self.dsn) as conn:
with conn.cursor() as cur: if conn.table_exists('search_name'):
cur.drop_table("word_frequencies") with conn.cursor() as cur:
LOG.info("Computing word frequencies") cur.drop_table("word_frequencies")
cur.execute("""CREATE TEMP TABLE word_frequencies AS LOG.info("Computing word frequencies")
SELECT unnest(name_vector) as id, count(*) cur.execute("""CREATE TEMP TABLE word_frequencies AS
FROM search_name GROUP BY id""") SELECT unnest(name_vector) as id, count(*)
cur.execute("CREATE INDEX ON word_frequencies(id)") FROM search_name GROUP BY id""")
LOG.info("Update word table with recomputed frequencies") cur.execute("CREATE INDEX ON word_frequencies(id)")
cur.execute("""UPDATE word LOG.info("Update word table with recomputed frequencies")
SET info = info || jsonb_build_object('count', count) cur.execute("""UPDATE word
FROM word_frequencies WHERE word_id = id""") SET info = info || jsonb_build_object('count', count)
cur.drop_table("word_frequencies") FROM word_frequencies WHERE word_id = id""")
cur.drop_table("word_frequencies")
conn.commit() conn.commit()

View File

@@ -190,18 +190,19 @@ class LegacyTokenizer(AbstractTokenizer):
""" Recompute the frequency of full words. """ Recompute the frequency of full words.
""" """
with connect(self.dsn) as conn: with connect(self.dsn) as conn:
with conn.cursor() as cur: if conn.table_exists('search_name'):
cur.drop_table("word_frequencies") with conn.cursor() as cur:
LOG.info("Computing word frequencies") cur.drop_table("word_frequencies")
cur.execute("""CREATE TEMP TABLE word_frequencies AS LOG.info("Computing word frequencies")
SELECT unnest(name_vector) as id, count(*) cur.execute("""CREATE TEMP TABLE word_frequencies AS
FROM search_name GROUP BY id""") SELECT unnest(name_vector) as id, count(*)
cur.execute("CREATE INDEX ON word_frequencies(id)") FROM search_name GROUP BY id""")
LOG.info("Update word table with recomputed frequencies") cur.execute("CREATE INDEX ON word_frequencies(id)")
cur.execute("""UPDATE word SET search_name_count = count LOG.info("Update word table with recomputed frequencies")
FROM word_frequencies cur.execute("""UPDATE word SET search_name_count = count
WHERE word_token like ' %' and word_id = id""") FROM word_frequencies
cur.drop_table("word_frequencies") WHERE word_token like ' %' and word_id = id""")
cur.drop_table("word_frequencies")
conn.commit() conn.commit()
def name_analyzer(self): def name_analyzer(self):