michaelh added a comment.

  In D11552#231784 <https://phabricator.kde.org/D11552#231784>, @bruns wrote:
  
  > In D11552#231330 <https://phabricator.kde.org/D11552#231330>, @hein wrote:
  >
  > > For the record though - a better way to do this is to use 
QTextBoundaryFinder which will operate e.g. on grapheme cluster boundaries. 
This still isn't super great for Chinese though. If you want to really-properly 
do it you'll end up depending on ICU and using its BreakIterator combined with 
dict-based support for Chinese, which isn't terribly fast however.
  >
  >
  > There are a few implications here:
  >
  > - splitting to much generates to unspecific terms, especially in case of 
full text indexing (Think of splitting a western language at character level, 
most texts likely contain almost the full alphabet. Same likely applies to 
Katakana with its about ~100 graphemes)
  > - term generation at query and index time have to agree about what a term 
is, otherwise a search will likely return nothing. Changing the splitting at a 
later time will require reindexing all affected files
  > - better splitting will cost some more time at index generation, but likely 
makes searching faster (additional time for term generation will be neglegible, 
but the search terms are less complex - e.g. "abc" instead of "a" AND "b" AND 
"c").
  
  
  Currently `termgenerator` uses `QTextBoundaryFinder 
bf(QTextBoundaryFinder::Word, text);`

REPOSITORY
  R293 Baloo

REVISION DETAIL
  https://phabricator.kde.org/D11552

To: michaelh, hein
Cc: bruns, lbeltrame, #frameworks, alexeymin, cfeck, ashaposhnikov, michaelh, 
astippich, spoorun, nicolasfella, ngraham

Reply via email to