如果我有一個List<string>
並希望通過它做一個標準的搜索,我可以使用LINQ聲明是這樣的:LINQ是否有任何支持搜索機器搜索的內置搜索?
(from t in tasks
where searchTerms.All(term => t.ToUpper().Contains(term.ToUpper()))
select t).ToList();
但是,如果我想支持標準的搜索引擎的語法來處理短語,如:
contract
contract customer
jim customer
"Jim Smith" customer
然後我要開始我自己的滾動定製搜索方法。此外,作爲Jon Skeet mentioned here,您必須小心與ToUpper()與不同的文化設置進行比較,並且如果您處於Web環境中,則編碼和搜索編碼字符問題有許多問題,等。
是否沒有.NET或LINQ解決方案處理類似搜索機器的搜索,例如而不是Contains()類似於ConstainsSearchTerms()的東西?