Skip to content
This repository was archived by the owner on Mar 9, 2023. It is now read-only.

Commit 9eae063

Browse files
committed
Merge pull request #158 from yokomotod/slow-user-dic-build
2 parents 468e0bf + fd4561c commit 9eae063

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

sudachipy/dictionarylib/doublearraylexicon.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,22 @@ def size(self) -> int:
7878
return self.word_params.size
7979

8080
def get_word_id(self, headword: str, pos_id: int, reading_form: str) -> int:
81+
for wid, _ in self.lookup(headword.encode('utf-8'), 0):
82+
if self._compare_word_id(wid, headword, pos_id, reading_form):
83+
return wid
84+
8185
for wid in range(self.word_infos.size()):
82-
info = self.word_infos.get_word_info(wid)
83-
if info.surface == headword \
84-
and info.pos_id == pos_id \
85-
and info.reading_form == reading_form:
86+
if self._compare_word_id(wid, headword, pos_id, reading_form):
8687
return wid
88+
8789
return -1
8890

91+
def _compare_word_id(self, wid: int, headword: str, pos_id: int, reading_form: str) -> bool:
92+
info = self.word_infos.get_word_info(wid)
93+
return info.surface == headword \
94+
and info.pos_id == pos_id \
95+
and info.reading_form == reading_form
96+
8997
def get_dictionary_id(self, word_id: int) -> int:
9098
return 0
9199

0 commit comments

Comments
 (0)