我正在创建一种论坛,并且想要创建一个功能,以便在发布新帖子之前向用户提供类似帖子的建议,就像在SO中一样。 我不确定如何以最有效的方式创建此功能?
确定相似职位的参数是什么?只需按帖子标题即可搜索,但仍不确定其背后的逻辑是什么。
此外,我正在使用Cloud Firestore,并且按读取收费,因此就不需要读取数据库中的每个文档来提出相关帖子而言,逻辑需要高效。应该是一些智能查询。
感谢您的意见和建议,谢谢!
**尝试过多次Google,但是搜索查询显示不相关的结果(“如何创建相似的帖子”)。因此,如果那里有关于我也喜欢链接的信息,我自己也找不到。
答案 0 :(得分:0)
您可以通过使用自定义的字符串搜索算法或Apache Commons库来比较每个击键上的用户输入字符串与存储在数据库或任何其他数据结构中的标题,以提供有效的计算算法,从而实现此目的字符串similarity。
Levenshtein Distance是一种流行的计算算法,Levenshtein Distance的得分越低,相似的字符串越多:
StringUtils.getLevenshteinDistance("book", "back") == 2
StringUtils.getLevenshteinDistance("gold", "cold") == 1
StringUtils.getLevenshteinDistance("gold", "coin") == 3