1

私は何百万もの検索エンジンクエリを次のように持っています:

Stack Overflow
Java Video Tutorials
Cars
C++ vs Java

ここで、これらの要求に適合するオートコンプリート機能を実装したいと思います。

1. Type in 'so',       Prompt ['Stack Overflow','...','...']
2. Type in 'overflow', Prompt ['Stack Overflow','...']
3. Type in 'jvt',      Prompt ['Java Video Tutorials','...']
...

これが私の解決策です:

1)。クエリの略語を抽出します。たとえば、Stack Overflow -> SO;

2)。クエリを接尾語に分割します。たとえば、Stack Overflow -> 'Overflow' + 'Stack Overflow';

3)。これで、「スタック オーバーフロー」の 3 つのシーケンスが得られます。

'SO','Overflow','Stack Overflow'

4)。最後に、これら 3 つのシーケンスを TrieTree にインデックス付けし、すべてのシーケンスの最後のノードで元のクエリ (またはクエリ ID) を示します。

'o' --> 'Stack Overflow'
'w' --> 'Stack Overflow'
'w' --> 'Stack Overflow'

しかし、これは複雑すぎると思います。より良い解決策がある人はいますか? 本当にありがとう !

4

0 に答える 0