2012-07-12 72 views
0

我使用Drupal Apache Solr進行搜索。在這裏我找到了一個synonym.text文件,你可以在其中爲你想要的單詞手動添加同義詞。在solr中包含同義詞而不使用synonyms同義詞.txt

但是,正如我想的那樣,很難爲每個單詞手動包含同義詞,因爲我的應用程序有大量數據。

我想達到的目標是按照我的搜索結果:

當用戶將用於ALLU到位土豆的搜索,我們將會顯示土豆當成第一個結果。

另一個例子:當用戶搜索'原始蘋果'時,我們將顯示'蘋果'作爲第一條記錄,因爲'原始蘋果'是'蘋果'的同義詞。

但問題是100K記錄,每個記錄有4-5個同義詞。手動輸入它們是不可能的。

另一個問題是如果我想對特定記錄的同義詞進行更改,我將不得不手動執行,這也很耗時。

我想知道有沒有其他選擇,以便我不需要手動輸入同義詞?

+2

爲什麼不以編程方式從您的數據庫或100k行的任何位置以編程方式生成您的synonyms義同義詞.txt文件? – Ansari 2012-07-12 04:25:17

+0

@Ansari問題是,如果我必須更新30條記錄,我將如何更新synonyms在synonyms。 – 2012-07-12 10:01:42

+0

你可以重新生成文件,這將需要幾秒鐘。我想象的更大的問題是每次發生這種情況都會重新編制索引。 – Ansari 2012-07-12 14:26:56

回答

1

IMO這是接近搜索引擎優化。此外,您可能需要花費很長時間手動管理同義詞。

遵循印度電子零售網站正在做什麼來容納同義詞。例如,電子零售店已經通過將某個產品belly shoes重命名爲購物者傾向於錯讀和拼錯「芭蕾」而改編。他們不會在用戶真正搜索它們之前預期它。

因此記錄所有返回結果不多的請求(以及其他不滿意的客戶)。維護索引中的同義詞列表。並且在添加新產品時在關鍵字中包含這些同義詞:當添加產品x y z時,自動獲取所有同義詞到x,yz,並讓您的數據輸入員從中選擇它們。

'type':'synonym' 
'terms':'ballet','belly' 

'type':'synonym' 
'terms':'potato','allu','aloo' 

'type':'product' 
'name':'home garden potato planter' 
'keywords':'allu','aloo' 

'type':'product' 
'name':'aloo mutter fry mix' 
'keywords':'potato','allu','cheese' 
0

我們可以維護索引中的同義詞列表。並通過添加新產品在關鍵字中包含這些同義詞。當添加新產品時,它可以將同義詞提取到a,b和c。

「類型」:產品的 ‘名’:'monety卡羅襯衫男士 ‘關鍵字’:‘montey卡羅’,‘襯衫’

例子:Online Shopping Store已經適應了重命名某些產品和拼錯名稱。