Parse.com搜索性能



我有一个Parse类,我想让它在String属性上可搜索。根据Parse的博客,最有效的方法是使用一个小写单词列表作为可搜索的String属性。例如,使用["My"、"Search"、"Term"]代替"My Search Term"。

问题是,我也希望能够搜索子字符串。因此,应该为以下任何搜索字符串返回一个描述为"abc"的对象:a、b、c、ab、bc或abc。

我想把["my"、"search"、"term"]标签进一步分解成更多的单词,所以把"my"变成["m"、"y"、"my"]。不过,如果字符串稍长(例如考虑"搜索"),这个列表可能会变得很大。

使用query.matches可以解决此问题,但不建议用于大型数据集。

所以,考虑到大多数标签的长度将远远超过2个字符,解决这个问题的最佳方法是什么?

您正确地确定了解析中仅有的两个合理的替代方案。对于非平凡的关键词,我认为query.matches将是唯一可行的选择。

考虑放宽用户可以搜索字符串的任何子字符串的要求。假设我可能会用字符串"ire"搜索单词"requirement",这不是没有道理吗?如果搜索仅限于匹配前缀,则查询可以使用startsWith

最新更新