Improvements to auto-completion
-
consider the actual fields (either given or default) when looking for completions -
complete into facets using substring matches -
sort completions by document count (in reverse order) -
handle completions with spaces in the JS code -
benchmark to check the cost of the expanded functionality
Benchmark outcome after this MR:
description | query_str | iterations | timing | timing before MR |
Completion with 4 Characters... | Bund | 100 | 27.944485ms | 63.19µs |
Completion with 3 Characters... | Bun | 100 | 28.068975ms | 1.802µs |
Completion with 4 Characters and only a very few results... | XYZA | 100 | 24.584101ms | 2.757µs |
Completion a long string containing utf8 characters... | /?~Ѧ𝙱ƇᗞΣℱԍҤ١𝔍К𝓛𝓜ƝȎ𝚸𝑄Ṛ𝓢ṮṺƲᏔꓫ𝚈𝚭𝜶Ꮟçძ𝑒𝖿𝗀ḧ𝗂𝐣ҝɭḿ𝕟𝐨𝝔𝕢ṛ𝓼тú𝔳ẃ⤬𝝲𝗓1234567890!@#$%^&*()-_=+[{]};:',<.>/?~𝖠Β𝒞𝘋𝙴𝓕ĢȞỈ𝕵ꓗʟ𝙼ℕ০𝚸𝗤ՀꓢṰǓⅤ𝔚Ⲭ𝑌𝙕𝘢𝕤 | 100 | 7.713µs | 6.757µs |
Completion with lots of results... | Wass | 100 | 30.998016ms | 153.028µs |
Completion with lots of results and strange query... | /?~Ѧ𝙱ƇᗞΣℱԍҤ١𝔍К𝓛𝓜ƝȎ𝚸𝑄Ṛ𝓢ṮṺƲᏔꓫ𝚈𝚭𝜶 Wass | 100 | 30.979525ms | 151.76µs |
Edited by Jakob Deller