2012-01-31 69 views
1

目前我們使用Djapian +的Xapian我們基於Django的多語言項目的全文檢索。爲了針對每種語言使用詞幹,我們爲每種語言創建了不同的搜索索引。在Django內部,我們根據用戶的語言,使用哪個詞幹和哪個搜索索引來決定。這很好,但是,Djapian似乎不再被維護,代碼越來越多。所以我們轉而使用乾草堆,但草垛似乎並沒有提供我們需要的那種動態詞彙。多國語言全文搜索,包括在Django/Python的詞幹

是否有整合這種可能性的任何方式,無論是在乾草堆1.x版本,版本2.x或以任何其他基於Django的Python的/後端?

回答

0

所以,據我所知,你可以索引內容正確,但不正確的詞幹搜索它?或者你是否想在索引和搜索時更改詞幹分析?

的Xapian-草垛將設置基於settings.HAYSTACK_XAPIAN_LANGUAGE默認情況下所產生的語言,但是當你有一個實例的實例​​你應該能夠構造一個搜索改變而產生的語言之前設置SearchBackend.language搜索。

請注意,我沒有嘗試過這個可言,我只是看着the code on github

另外,我要指出的是,雖然草垛是偉大的,有時它更好地只是直接使用Xapian的。它已經足夠記錄了,而且對於複雜的xapian特性來說,它可能更快更簡單。顯然,如果你已經有了你的應用程序,情況並非如此,但如果你剛剛開始,這是值得的。 :)

+0

符號您好,感謝提示。不幸的是,爲了獲得正確的工作,索引本身也必須被阻止。目前,修補Djapian是最簡單的解決方案,但需要多長時間...... :-P我將仔細研究一下原始Xapian併發布我想出的任何好的答案。 – 2012-02-28 13:04:16