簡體   English   中英

可擴展搜索算法SQL

[英]Scalable searching algorithm SQL

所以我有一個存儲在postgres數據庫中的用戶列表,我想在我的(Java)后端上按用戶名搜索它們,並在前端向用戶顯示一個被截斷的列表(例如facebook用戶搜索)。 當然可以在SQL中使用

WHERE username = 'john smith';

但是我希望搜索算法更加復雜。 例如,從未命中開始

"Michael" ~ "Micheal"

並可能改善它以使用上下文,例如地理鄰近性。

我已經做過很多次了,我覺得自己會重新發明輪子並且做得不好。 有圖書館這樣做嗎? 應該在后端(在Java中)還是在數據庫(Postgresql)中進行處理。 如何使該模型具有可擴展性(即使用易於添加復雜性的模型)?

復雜的算法不會神奇地出現,您必須實現它。 最后一個問題是您應該使用Java還是在數據庫中執行此操作。 在絕大多數情況下,最好使用數據庫進行查詢。 諸如"Michael" ~ "Micheal"或空間查詢之類的東西是許多現代SQL數據庫中的標准功能。 您只需要實現適當的SQL查詢即可。

但是,還有一點是,SQL數據庫是否適合“復雜查詢”。 您還可以考慮使用諸如Elasticsearch之類的替代方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM