Metlivi-bloggen

Så hittar du ett kinesiskt tecken i en blandad kinesisk-engelsk journal

Om journalen inte ger några resultat för ett kinesiskt tecken bör du först kontrollera vilken app och vilket sökläge du använder. Testa sedan en känd anteckning med en sökning på ett tecken, ett uttryck på två tecken och ett engelskt ord. Jämför resultaten med appens dokumenterade beteende innan du ändrar inställningar eller antar att tecknet saknas. Sökmotorer fungerar olika: vissa använder ordgränser, vissa erbjuder en separat grundläggande sökning och i viss dokumentation anges inte hur kinesisk text matchas.

30 september 20264 min läsningAv Metlivi Editorial Team
Avsnitt 1

Börja med appens egen sökdokumentation

Sökning är en appfunktion, inte en universell regel. En journal kan använda ett fulltextindex, en grundläggande textsökning eller flera olika lägen. Även produkter som bygger på SQLite kan skilja sig åt vad gäller SQLite-tillägg, tokeniserare och appspecifik hantering. Joplin dokumenterar till exempel sin användning av SQLite FTS4 och uppger att appen växlar till ett anpassat läge för språk som inte använder latinska ordgränser, däribland kinesiska. Sidan skiljer också mellan matchning av exakta termer och delsträngsmatchning i det dokumenterade FTS-läget. De här uppgifterna beskriver Joplin; de visar inte hur en annan journal fungerar.

Leta efter exakt produkt och plattformsversion och notera om manualen beskriver fulltextsökning, ett grundläggande läge, token- eller ordmatchning, delsträngsmatchning, språkspecifikt beteende och indexerat innehåll som bilagor. Utgå inte från att ett sökfält genomsöker alla synliga tecken bara för att det accepterar kinesisk inmatning. Anta inte heller att ett index avvisar kinesisk text: appen kan ha ett språkmedvetet läge eller en annan implementation.

Avsnitt 2

Skapa en liten kontrollanteckning

Använd en känd anteckning som ett kontrollerat test. Skapa till exempel en påhittad anteckning med följande innehåll: ”山水 — 北京 — journal”. Här är 山 ett känt enstaka tecken, 北京 ett känt uttryck på två tecken och journal ett engelskt kontrollord. Spara anteckningen, vänta eventuell dokumenterad indexeringstid och sök efter varje objekt separat. Anteckna om anteckningen visas för 山, 北京 och journal. Det här är föreslagna tester, inte resultat från testning av någon verklig app.

Om sökningen efter journal inte heller hittar anteckningen bör du först kontrollera att den är sparad, ingår i det valda kontot eller anteckningsboken och finns i de fält som genomsöks. Om journal fungerar men ingen av de kinesiska sökningarna gör det, gäller problemet mer specifikt CJK-hantering eller hur söktermerna tolkas. Om 北京 fungerar men 山 inte gör det bör du anteckna den skillnaden: den kan tyda på ett krav på en minsta termlängd eller ett beteende kopplat till token-gränser, men resultatet avslöjar inte i sig orsaken.

Avsnitt 3

Jämför fulltext-, grundläggande sökning och delsträngssökning noggrant

Vid en fulltextsökning kan appen dela upp texten i termer och matcha dessa indexerade termer. En delsträngssökning letar i stället efter en teckensekvens inuti en längre text. Det är olika beteenden: att matcha en hel term innebär inte nödvändigtvis att varje kortare sekvens i den matchas. Joplin dokumenterar uttryckligen den här skillnaden för sina FTS-frågor och uppger att appens anpassade CJK-läge inte förlitar sig på latinska ordgränser. Det dokumenterade snedstrecksprefixet växlar till grundläggande sökning i fall där FTS fungerar dåligt, men Joplin varnar för att det läget kan vara mycket långsammare. Använd den syntaxen endast i Joplin och enligt beskrivningen i den aktuella manualen.

Databasdokumentation kan förklara varför implementationsdetaljer spelar roll, men den kan inte förutsäga en apps sökresultat. FTS5-dokumentationen för SQLite beskriver konfigurerbara tokeniserare, bland annat alternativen Unicode61 och trigram. Dokumentationen för Joplin som nämns här anger dock FTS4. FTS5-exempel kan därför inte användas som belägg för att Joplin eller alla journaler använder dessa tokeniserare. Kontrollera appens egen dokumentation innan du tillämpar förklaringar på databasnivå.

Avsnitt 4

Diagnostisera mönstret, inte bara den misslyckade sökningen

Följ den här ordningen för att ringa in problemet:

Överför inte sökoperatorer eller slutsatser från en app till en annan. Användarhandboken för Apple Anteckningar beskriver sökning i anteckningars brödtext och flera typer av bilagor, och uppger att tillgängliga funktioner kan bero på kontot. Den anger inte kinesiska token-gränser och garanterar inte hämtning av delsträngar på ett enda tecken. När den officiella dokumentationen inte tar upp den punkten är den enda tillförlitliga slutsatsen att beteendet inte dokumenteras där.

Bekräfta att en känd anteckning visas när du söker efter dess engelska kontrollord.

Sök separat efter det kända kinesiska uttrycket på två tecken och sedan efter det kända enstaka tecknet.

Kontrollera att det aktuella sökomfånget inkluderar anteckningen och dess brödtext och om appen bara indexerar vissa typer av innehåll.

Läs manualen för att se om den beskriver ett grundläggande sökläge, CJK-specifikt beteende, tokenmatchning eller stöd för delsträngar. Prova ett alternativt läge endast med appens dokumenterade syntax.

Om bara sökningar på ett tecken misslyckas bör du rapportera det exakta mönstret till appens supportkanal tillsammans med plattform, version, sökfråga och en minimal reproducerbar anteckning. Undvik att dela privat journalinnehåll.

Avsnitt 5

Vad kontrollsökningarna kan visa

Kontrollanteckningen hjälper dig att skilja en saknad anteckning eller felaktigt sökomfång från ett språkspecifikt sökproblem. Den bevisar inte hur appen indexerar varje anteckning, bilaga, konto eller språk. Samla uppgifterna om app, plattform, version, sökläge och utfallen för de tre sökfrågorna; den korta sammanställningen är mer användbar än att bara säga ”kinesisk sökning fungerar inte”. Om du behöver tillförlitlig sökning på enstaka tecken i ett verkligt arkiv bör du kontrollera beteendet mot representativa egna anteckningar innan du organiserar om eller importerar dem på nytt.

Relaterad läsning

Fortsätt utforska detta ämne