Sync from upstream.

Descriptions:
================
Remove no-longer-used write paths for file-backed-proto-log.
================
Modify segmentation rules to consider any segment that begins with a non-Ascii
alphanumeric character as valid
=================
Implement CalculateNormalizedMatchLength for IcuNormalizer.
================
Add additional benchmark cases that were useful in developing
submatching and CalculateNormalizedMatchLength for IcuNormalizer
=================
Switch NormalizationMap from
static const std::unordered_map<char16_t, char16_t>& to
static const std::unordered_map<char16_t, char16_t> *const.
==================

Bug: 147509515
Bug: 149610413
Bug: 195720764
Bug: 196257995
Change-Id: Iabdb34a983b5d47daca808888a46c241767d93bf
27 files changed
tree: aca1fcdee32fc7f6ae15093de27361f5226fda64
  1. icing/
  2. java/
  3. proto/
  4. .gitignore
  5. Android.bp
  6. AndroidManifest.xml
  7. build.gradle
  8. CMakeLists.txt
  9. CONTRIBUTING.md
  10. jarjar-rules.txt
  11. LICENSE
  12. METADATA
  13. MODULE_LICENSE_APACHE2
  14. README.md
  15. synced_AOSP_CL_number.txt
  16. TEST_MAPPING
README.md

Icing Search Library

Icing is a fast, embedded, mobile-friendly full-text-search library written in C++.

This is not an officially supported Google product.