2010-02-17 65 views

回答

-4

創建進入您的應用程序的所有搜索查詢的數據庫。 (查詢日誌)

創建具有類似領域

QueryText varchar(x) 
Occurence int 

表然後做一個搜索,其中查詢文本與用戶正在通過發生遞減搜索和順序啓動。

where QueryText LIKE 'some text%' ORDER BY Occurence DESC 
+0

我很想看看爲什麼人們低估了這個,儘管我想我知道答案...(太慢了?) – 2012-11-27 07:58:54

+0

我不確定我自己,但是這根本不會很慢,因爲我們標記了發生了查詢,所以而不是100行相同的文本,我們只有1行出現100次。如果需要,可以將它自己存儲在SQL或Lucene中。我實際上使用它,它在找到常用搜索短語方面做得很好。 – 2014-04-01 14:24:57

1

很簡單響應在這裏,它會讓你開始。

作爲lucene.net contrib的一部分的SpellChecker項目將爲您提供Google的「你的意思是?像功能一樣,檢查一下。

對於AutoComplete,您可以在文本查詢的末尾附加*。所以JA *將返回的Java,千斤頂,簡等。同樣,* VA將返回的Java,熔岩等(雖然你必須明確地讓領導通配符)

希望這有助於