0
我有一個表有句號和句子列的句子。這是一個相當大的表,+ - 100000行。給我一個單詞列表,我需要找到包含這些單詞的句子。結果句子必須是唯一的。需要有效的方法來解決這與Linq/subsonic
_session.All<Sentence>()
.Select(T => new { ID = T.ID, Sentences = T.sentence.Split(' ') })
.Where(S => S.Sentences.Intersect(Words).Count()>0)
.Select(R=>R.ID)
從這裏它很簡單,但這似乎效率低下。
這僅僅是一個開始,我不是高興完成,因爲必須有比這更好的解決方案。將100 000個句子分成單詞是很可怕的。這不可能是唯一可能的解決方案。 – David 2011-03-22 08:07:19
將句子拆分成單詞幾乎肯定會成爲最有效的方法。在完整的句子中尋找單詞不會更快。 – Gabe 2011-03-22 08:12:56
_session.All().Select(T => new {Sentence = T,Descriptions = T.Sentence.Split('')})。(S => S.Sentence.Intersect(words).Any() ).Select(R => R.Sentence).Distinct()不工作我得到類型'System.Collections.Generic.IEnumerable'1 [System.String]'的表達式不是序列 –
David
2011-03-22 08:32:43