ブログに似た構造のソーシャル機能 (投稿とコメント) があります。
投稿には本文と呼ばれるフィールドがあり、コメントも同様です。投稿とコメントは SharePoint リストに保存されるため、SQL 全文クエリを直接実行できます。
誰かが「11 月の停止復旧効率」と入力した場合、投稿の内容とそれに添付されたコメントに基づいて投稿のリストを適切に返す方法については、まったくわかりません。
幸いなことに、一度に検索する必要がある投稿は 50 ~ 100 件を超えることはありません。これを解決する最も簡単な方法は、投稿とコメントをメモリに読み込み、ループ経由で検索することです。
理想的には、次のようなものが最速のソリューションになります。
class Post
{
public int Id;
public string Body;
public List<Comment> comments;
}
class Comment
{
public int Id;
public int ParentCommentId;
public int PostId;
public string Body;
}
public List<Post> allPosts;
public List<Comment> allComments;
public List<Post> postsToInclude (string SearchText)
{
var returnList = new List<Post>();
foreach(Post post in allPosts)
{
//check post.Body with bool isThisAMatch(SearchText, post.Body)
//if post.Body is a good fit, returnList.add(post);
}
foreach(Comment comment in allComments)
{
//check post.Body with bool isThisAMatch(SearchText, comment.Body)
//if comment.Body is a good fit, returnList.add(post where post.Id == comment.PostId);
}
}
public bool isThisAMatch(string SearchText, string TextToSearch)
{
//return yes or no if TextToSearch is a good match to SearchText
}