我正在嘗試編寫基本搜索,並且排序邏輯的一部分將捕獲的關鍵字長度與基於相同長度的返回結果子字符串進行比較。因此,如果關鍵字爲9個字符,則邏輯會搜索每個返回結果的前9個字符,以查找關鍵字是否與子字符串匹配。子串異常
我得到的問題是,如果我搜索關鍵字的長度,它聲稱我的數據的字符串索引超出範圍,我比較關鍵字,即使返回的唯一結果將在至少包含捕獲的關鍵字長度和更多。我的代碼如下:
@{
string KEYWORDS = !string.IsNullOrEmpty(Request.QueryString["keywords"]) ? Request.QueryString["keywords"] : string.Empty;
var query1 = Query.WhereFullTextContains(KEYWORDS, In.Column("Property_Title", 100), In.Column("MD_Course_UCASCode", 50));
var query2 = Query.WhereFullTextContains(KEYWORDS, In.Column("MD_Course_Departments", 50), In.Column("MD_Course_Departments2", 50));
var search = new NodeFinder().Find(query1);
var search2 = new NodeFinder().Find(query2);
int searchindex = KEYWORDS.Length;
var searchall = search.Union(search2).GroupBy(x => x.Title).Select(y => y.First());
}
@foreach (ContentNode node in searchall) {
if (node.Title.Substring(0, searchindex) == "economics")
{
<div class="sys_subitem">
<div>
<h3><a href="@node.Path">@node.Title</a></h3>
<div>
<dl>
<dt>UCAS Code:</dt>
<dd>@node.Data.Course_UCASCode</dd>
</dl>
</div>
</div>
</div>
}
}
任何想法我可能做錯了什麼?幫助將不勝感激!
我試圖StartsWith,它暴露了'node.Title'具有扔在一些成果除外一些有趣的屬性,由於這個事實! – doats1