5f4bb46edec0c016413eeccf0733147dae58837e |
|
15-Nov-2016 |
Suprabh Shukla <suprabh@google.com> |
Using correct variable Wrong variable for name was being used in the toString() of SearchIndexManager.IndexBuilder Bug: 25363717 Change-Id: Ief811312c8e953f44ad1430f76107b49137f123a
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
95f4fd8bf381ed9319f139febc369ce70dcb022e |
|
29-May-2015 |
Brian Attwell <brianattwell@google.com> |
Decouple ProviderStatus & internal provider state Bug: 21090207 Change-Id: I7e93e36ad0c0d667ac56983c76acb1b97bd8755c
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
de853799fa95c596616e138f3ef2e66b1f9f95a6 |
|
26-Mar-2014 |
Yorke Lee <yorkelee@google.com> |
Correctly append contact IDs in SearchIndexManager Bug: 11059351 Change-Id: I5d5193e37bf6cdbf059779f745cc73314c751962
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
1dc1cfb821c03a17c8b09265fdfd7260023e6767 |
|
11-Mar-2014 |
Yorke Lee <yorkelee@google.com> |
Update search index for entire contact when raw contact is modified Bug: 11059351 Change-Id: I7c8989fd8505f888f5bc8605e68a2d73d0142b76
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
d639ddd61fc7b6f4a7879d583bfd2b595b066265 |
|
10-Sep-2013 |
Yorke Lee <yorkelee@google.com> |
Fix PHONE_FILTER and CALLABLES_FILTER search behavior These two filters now only perform name lookups. The search index manager indexes names, nicknames, and organization title and company name for name lookups. Bug: 10680335 Change-Id: I283c61af64a2f104b7482a2819ed4b8a238cba04
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
f5c0020b87709f9c4c3de66a49c0893e2c2adebb |
|
10-Nov-2012 |
Makoto Onuki <omakoto@google.com> |
Rebuild SQLITE_STAT1 table after drop operations. The SQLITE_STAT1 table has the estimated number of rows for each table and index, which is used to calculate a query plan for queries. The problem is that, DROP TABLE and DROP INDEX appear to remove the corresponding row from the stats table. This could cause SQLite to choose inefficient query plans. This CL will make sure to rebuild the stats table after such operations. Added a new boolean paramter rebuildSqliteStats to all methods that exectue DROP TABLE/INDEX. If it's set, they'll call updateSqliteStats() to rebuild the contents. Bug 7426624 Change-Id: I1c373b902856d1a24b6c0c8379899a235ee284c4
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
d2f6ad6d50b5570327f8cca3b2d2bdcaec36ea90 |
|
01-Oct-2012 |
Makoto Onuki <omakoto@google.com> |
Make sure to rebuild search index on locale changes... so that search will still work even after changing the locale. - Rebuild the search index upon locale changes, as it contains locale-sensitive data. - Also make sure to update the in-memory collator in NameNormalizer upon locale changes. - Rebuild the search index on the next db upgrade in order to fix the search index which already contains invalid data. Bug 7251461 Change-Id: Id579a67de792a52a0091bf76d7c5d374f76f1639
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
38210445730ee04c351c7cc1b3800cfe23e34325 |
|
27-Jun-2012 |
Makoto Onuki <omakoto@google.com> |
Reorganize import in contacts provider Change-Id: If3afb134ea36bd93859efcd114885526e1592b91
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
116d86ddd67330428f9128613b4886fc0ea66221 |
|
27-Apr-2012 |
Makoto Onuki <omakoto@google.com> |
Make names with special chars searchable. It's a better fix than I34bfa864, which was only a quick workaround for double barrelled names. Now names with other special characters are searchable too. Also, previously, a query "doublebarrelled" wouldn't match "double-barrelled", but now it will. Bug 5592553 Change-Id: Id1d44261f577df7abf701311ed1c86fb093547da
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
0992b9d4969ed0eee6e879db94292b635229e2b7 |
|
11-Apr-2012 |
Makoto Onuki <omakoto@google.com> |
New aggregation logic Now a raw contact can be merged into a contact containing raw contacts from the same account if there's at least one raw contact in those raw contacts that shares at least one email address, phone number, or identity. Now the aggregation logic version is 3. Also: - Make sure changes to the identity triggers aggregation. - Stop re-using some HashMaps/HashSets, as they don't shirink the internal table when clear()ed. During the aggregation update we may put a bunch of stuff into those, and we want to make sure that we don't keep unnecessarily bit internal tables after the upgrade. This should be okay with the modern dalvik GC. Change-Id: I855085d334679363cf9bffb918ca2ceb0cfe77f5
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
565b62f354d8b6aadc760092a7dbf483f8bbbe17 |
|
08-Mar-2012 |
Makoto Onuki <omakoto@google.com> |
Use wall time instead of CPU time for performance log Apparently what currentThreadTimeMillis() returns is the CPU time, not wall time, which is not really interesting when we measure performance. Use the actual wall time instead. Change-Id: Ibe2e385ff1bdeeb1128a584c79925210dde5525a
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
7e086471c6317d059af21d292bee964b24613346 |
|
19-Jan-2012 |
Makoto Onuki <omakoto@google.com> |
Speed up search query update after each transaction Contains two optimizations, which will greatly affect initial sync for an account with a large number of contacts. - When selecting from search_index, we used two columns from different tables: 'raw_contacts.contact_id IN (...) OR data.raw_contact_id IN (...)'. But this is really equivalent to '... OR raw_contacts._id IN (...)' as we inner join the two tables. The latter is pretty much faster as both columns are in the same table and each has an index. Bug 5842620 - When we replace a search_index row, we first try UPDATE and if no rows are affected then INSERT. But this UPDATE is pretty slow; on a test device it can easily take >10ms, and with a 10K contacts database it took >80ms. (INSERT is pretty fast; it's typically ~1ms.) Let's first bulk DELETE all affected rows, then INSERT. The DELETE takes roughly the same time as the previous UPDATE, but we only need 1 DELETE per transaction, not per row contact. Bug 5887648 Change-Id: I549ea2b47d7058bfba96a861236295f682d88c10
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
f5f038faf7f3ef460e1c11028d467954840e5f6f |
|
14-Nov-2011 |
Makoto Onuki <omakoto@google.com> |
Fix search for hyphenated names This issue was caused by the combination of the fact that we have two different imcompatible tokenizers for names, and the fact that our name-normalizer ignroes all non-letter and non-digit characters. Basically, the name tokenizer used to build index uses ' ' as the separator, and the one used to tokenize queries use all non-letter, non-digit characters. Take the name "Double-barrelled" as an example. The full-text search index for this looks like "doublebarrelled", because it's treated as one token (because there's no spaces in it), and the normalzier removes all non-letter/digits. On the other hand, the query term "double-barrelled" will be split into "double" "barrelled", and internally it becomes AND-ed prefix matches "double* AND barrelled*". Beacuse "barrelled*" doesn't match "doublebarrelled" the query doesn't hit. So (for now) let's split names with '-' when buidling the index. With this CL the index will be "double barrelled" and the query "double-barrelled" (and also "double barrelled") *will* hit this. Long-term we probably need a better fix. Bug 5592553 Change-Id: I34bfa8647eec8d203f8ff7fc8a85f42505054c7c
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
d1746e09bc7739f3d1449cececc66d5045ada498 |
|
15-Oct-2011 |
Daniel Lehmann <lehmannd@google.com> |
Use hexadecimal collation key for name searches. Also allow prefix search on name Bug:5337763 Change-Id: I039264be0c8309224d8925ded06ab02a64a5ce1b
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
8f79445f450755858a88e8a5a0e14d81a0b9ff87 |
|
21-Sep-2011 |
Daisuke Miyakawa <dmiyakawa@google.com> |
Make search aware of names in "all other contacts" default_directory doesn't contain contacts which are in "all other contacts" group (or people who are not in any group), while in search mode we want those names. Bug: 5336673 Change-Id: Ib77acdfa6968605a66561f0925d0aa81f4522bb9
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
155accbcb95fc13b984cf0ea8e5498a9c619cbf5 |
|
12-Feb-2011 |
Dmitri Plotnikov <dplotnikov@google.com> |
Full text search: email suggestions Also, removing a bunch of dead code Bug: 2078420 Change-Id: I2c0a9ddd8e60624049b39ac018f87bfabc6574c2
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
174f7d319b987aa2aeeb6f2563f4b939acb8d791 |
|
11-Feb-2011 |
Dmitri Plotnikov <dplotnikov@google.com> |
Full text search: QSB support Bug: 2078420 Change-Id: I767ccecc856c0ae9ad74aafb3dac0de39b657e3c
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
197411a6cc3f81b94a34ca207f267d43d8548f04 |
|
10-Feb-2011 |
Dmitri Plotnikov <dplotnikov@google.com> |
Full text search: removing organization from name lookup It no longer needs to be in the name lookup table, because we now have it in the search index and we don't use it for aggregation. Bug: 2078420 Change-Id: Iaab128513ff29a38f97c7d880c2aae668a3ef865
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
bd9abbb6b03b4ec1e28ad3fa2fcba5d1eb8609ea |
|
10-Feb-2011 |
Dmitri Plotnikov <dplotnikov@google.com> |
Full text search: updating search index on change of visibility When a contact becomes invisible, the search index will be cleared. When it becomes visible, the index will be built. Bug: 2078420 Change-Id: I1eea88d3d9babc891d112d15d9041d01c383f22f
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
f482a4e25759d2c144eb41a3de56a342bd473435 |
|
10-Feb-2011 |
Dmitri Plotnikov <dplotnikov@google.com> |
Full text search: no snippet when searching by name Bug: 2078420 Change-Id: Icdd38c9963accec117ce134ef5a13e08e5f07f05
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
05e50fbf9809bf04eceec3d2a2753630dc4f9315 |
|
09-Feb-2011 |
Dmitri Plotnikov <dplotnikov@google.com> |
Full text search: building full index for all contacts Bug: 2078420 Change-Id: Ief6db4f4ecc0b6e5adb37a0654a72383099dc138
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
6d9702cec82fd27a1c3093c64df9dcc22744899a |
|
09-Feb-2011 |
Dmitri Plotnikov <dplotnikov@google.com> |
Full text search: adding remaining built-in data types Bug: 2078420 Change-Id: Ifbd67f5ed65c44c2521a4b4d48d90aab8d0c86d1
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
eeeed5669d98897501bf2b18c88579c7effd0955 |
|
08-Feb-2011 |
Dmitri Plotnikov <dplotnikov@google.com> |
Full text search: adding common data types Bug: 2078420 Change-Id: I0c48e1fef3473415d01280274599f0be5cc69b08
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|
f262d56495ac4ea30d31bd050efb116bd4bb4235 |
|
08-Feb-2011 |
Dmitri Plotnikov <dplotnikov@google.com> |
Full text search: adding internal provider API. Also, adding the very first data type to FTS: organization. Bug: 2078420 Change-Id: I64d6f6a63efc838c4c2c80d4311bcc23bae23a67
/packages/providers/ContactsProvider/src/com/android/providers/contacts/SearchIndexManager.java
|