26.12.2013 Views

A computational grammar and lexicon for Maltese

A computational grammar and lexicon for Maltese

A computational grammar and lexicon for Maltese

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Figure 3.4: Viewing the details of a particular entry, where one can filter through the<br />

word<strong>for</strong>ms<br />

even increase it slightly), but giving the user at least some in<strong>for</strong>mation quickly feels a lot better<br />

than making them wait <strong>for</strong> a long time <strong>and</strong> then displaying it all at once.<br />

Search per<strong>for</strong>mance<br />

In our application most searches are carried out on the word<strong>for</strong>ms.surface_<strong>for</strong>m field. Despite<br />

containing over 4 million <strong>for</strong>ms, using a database index on the field makes searching time very<br />

good. In most cases the response time is under 100ms, even when searching using regular<br />

expressions. Yet some queries do take much longer to complete (in the order of seconds), generally<br />

when the beginning-of-string anchor ^ is omitted. Table 3.2 gives some example queries<br />

<strong>and</strong> their response times.<br />

Table 3.2: Example database queries <strong>and</strong> response times<br />

Type Query Response time (ms)<br />

Basic text search db.word<strong>for</strong>ms.find({"surface_<strong>for</strong>m":"skrejjen"}) < 100<br />

Continued on next page<br />

55

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!