2017-08-27 3 views
0

私はアプリのTwitterハッシュタグに似たハッシュタグシステムを構築しようとしています。しかし、異なる綴りをまとめてグループ化すると、そのようなタグの綴り方を理解することはできません。Twitterはトレンドハッシュタグのスペルをどのように判断しますか?

例として、Twitterで#abcを使用すると、#abc、#Abc、#aBCなどの異なる綴りが存在する可能性があります。 ハスタッグがトレンドしているときは、トレンドリストに特定の綴りで表示されます。例えば。 #abCとすべての異なるバージョンをグループ化します。

「正しい」スペルはどのようにしたらわかりますか?

+0

ほとんどのタグを含むハッシュタグは正しいものとみなされ、異なるものが(ケースとの関連で)番号を加算するだけかもしれません。私は確信していません。 – Oasa

答えて

0

私は自分のアプリケーションのハッシュタグシステムを構築しましたが、私は完全には終了していませんが、私の方法は#*の文字列を持つ投稿を取得することでした。私はすべてのハッシュを持っていたら、その後

GetHashes(t: string){  
var hashed = t.match(/#\w+/g); 
if(hashed != null){ 
    hashed.forEach(element => { 
    var unhashed = element.slice(0,0) + element.slice(1,element.length); 
    this.hashTags.push(unhashed); 
    }); 
}else{ 

} 

}

とそのを解析し、私は単純に小文字にすべてを翻訳するために置き換えます。それが私がデータベースに送るものです。私はFirebaseを使用しているので、私はデータを非正規化し、それを複製して、データベースのタグの下に投稿の内容全体を保存します。これは多くのデータストレージの廃棄物のように見えるかもしれませんが、ストレージは安いです。それで高価な "ElasticSearch"や "Algolia"のような検索システムを実装する必要はありません。 (私はフルテキスト検索ではまだ必要ですが、ハッシュでは大量の現金を節約できません)。

その後、私はすべての#*を返そうとしていますが、Firebase Databaseとviolaの参照を見つけるだけです!

私が理解できないことは、関数を動的に呼び出すハッシュタグリンクを作成する方法です。私はinnerHtmlを使用していますが、それはすべてを文字列にします。

これは少し役に立ちます。

関連する問題