0
我有一個自動完成框,它需要返回具有輸入單詞的結果。然而,輸入的單詞可以是不完整的,並且位於不同的順序或位置。使用Django查詢集搜索多個單詞列
實施例:
在數據庫列(MySQL的)的值 - 如果
Expected quarterly sales
Sales preceding quarter
Profit preceding quarter
Sales 12 months
現在用戶類型quarter sales
那麼它應該返回所述第一兩個結果。
我嘗試:通過正則表達式
column__icontains = term #searches only '%quarter sales% and thus gives no results
column__search = term #searches any of complete words and also returns last result
**{'ratio_name__icontains':each_term for each_term in term.split()} #this searches only sales as it is the last keyword argument
任何伎倆或可能是我丟失的東西內置在Django,因爲這是一個常見的模式?
也許我錯了,但這看起來更像是一個全文搜索問題給我。你應該看看MySQL全文搜索,看看它是否符合你的需求。 –
您是否嘗試過使用任何搜索引擎?查看haystack(http://haystacksearch.org/)。它支持在開始時很容易使用的whoosh,以及更多 – szaman
嗨Manoj,我嘗試了全文搜索,但它返回的結果中有上述任何一個單詞。示例還會返回銷售12個月(不應該)。 – Pratyush