New Features #1

Open
marvinelsen wants to merge 76 commits from develop into main
2 changed files with 22 additions and 1 deletions
Showing only changes of commit a88b4d409d - Show all commits

View File

@ -20,9 +20,15 @@ fun main() {
val (shangWords, time3) = measureTimedValue {
sqliteDictionary.findWordsContaining(shang)
}
val (characters, time4) = measureTimedValue {
val searchi = sqliteDictionary.search("師範大學", SearchMode.TRADITIONAL).first()
sqliteDictionary.findCharacters(searchi)
}
println(searchResults)
println(shangWords)
println(characters)
println(time)
println(time2)
println(time3)
println(time4)
}

View File

@ -53,6 +53,12 @@ class SqliteDictionary(private val connection: Connection) : Dictionary {
)
}
private val findCharacters = """
SELECT traditional, simplified, pinyin_with_tone_marks, pinyin_with_tone_numbers, zhuyin, definitions
FROM cedict
WHERE traditional IN (?)
""".trimIndent()
override fun search(query: String, searchMode: SearchMode) = when (searchMode) {
SearchMode.PINYIN -> searchPinyin(query)
SearchMode.SIMPLIFIED -> searchSimplified(query)
@ -73,7 +79,16 @@ class SqliteDictionary(private val connection: Connection) : Dictionary {
}
override fun findCharacters(entry: DictionaryEntry): List<DictionaryEntry> {
return emptyList()
val characterList = entry.traditional
.split("")
.filter { it.isNotBlank() }
.joinToString(",") { "'$it'" }
val query = findCharacters.replace("?", characterList)
val resultSet: ResultSet = connection.createStatement().executeQuery(query)
return resultSet.toListOfDictionaryEntries()
}
private fun searchSimplified(query: String): List<DictionaryEntry> {