2014-10-01 236 views
0

我們希望爲在線/離線產品構建搜索引擎。我們開始瀏覽網頁,並瞭解倒排索引,TF/IDF和其他通用搜索相關算法等技術。我們使用了內置所有上述技術的lucene,並且我們的基本搜索平臺已準備就緒。建築搜索引擎產品搜索

後來我們意識到通用搜索引擎會返回任何類型的輸出。 說如果我搜索「黑色鞋子」,搜索字符串輸出將包含既有黑色又有鞋子的輸出。所以在輸出中,很可能會有一件黑色襯衫,但關聯度較低。

所以我們認爲產品分類可能是我們的救援。我們將根據它攜帶的屬性對我們的產品進行分類,然後我們也將解析查詢字符串來挖掘用戶正在查找的內容並直接匹配它們。我不確定是否應該遵循這種方式。

所以我想知道通常在建立利基市場的搜索引擎之後有哪些不同的技術?

回答

1

Lucene絕對是您可以用來構建搜索引擎的頂級API之一。我會建議你使用Solr.

Solr使用Lucene的引擎蓋下,但提供了很多內置的功能和一個驚人的視覺控制檯。

關於你的問題,經常發生,這裏不是使用工具的問題,而是你如何使用它。您可以使用Lucene/Solr自定義搜索行爲以獲得期望的結果。

反正你有兩個選擇要麼單獨或共同採取:

1)創建一組背景可供選擇。例如,亞馬遜搜索允許您在與產品相關的不同環境中進行選擇(例如「所有部門」,「美容」,「遊戲」等)。這個技巧將幫助你縮小產品的範圍;

2)使用SpanNearQuery或PhraseQuery與slop 1並通過接近提升它們。

很明顯,如果索引中的文檔是用最適合您的結構創建的,以前的選項會對您有所幫助。

+0

非常感謝您的建議。我會毫不猶豫地閱讀有關SpanNearQuery並嘗試在我們的應用程序中實現它。 – 2014-10-19 09:54:52