public void TestPrepareFullTextQueryEmptyQuery() { Assert.IsNull(SqlFullTextSearchHepler.PrepareFullTextQuery(null)); Assert.IsNull(SqlFullTextSearchHepler.PrepareFullTextQuery("")); Assert.IsNull(SqlFullTextSearchHepler.PrepareFullTextQuery(" \r\n\t ")); Assert.IsNull(SqlFullTextSearchHepler.PrepareFullTextQuery("я он в на за")); }
public void TestPrepareFullTextQueryMaxLength() { string phrase = new String('A', 2048); string query = SqlFullTextSearchHepler.PrepareFullTextQuery(phrase); Assert.AreEqual(1027, query.Length); }
public void TestPrepareFullTextQuery() { string query = SqlFullTextSearchHepler.PrepareFullTextQuery("Я на Cолнышке лежу", true); Debug.Write(query); Assert.AreEqual( "\"cолнышке*\" NEAR \"лежу*\"\n OR FORMSOF(FREETEXT, \"cолнышке\") AND FORMSOF(FREETEXT, \"лежу\")", query ); }
public void SearchArticles(string title = "Я на Cолнышке лежу") { string ftsQuery = SqlFullTextSearchHepler.PrepareFullTextQuery(title, fuzzy: true); // "cолнышке*" NEAR "лежу*" OR FORMSOF(FREETEXT, "cолнышке") AND FORMSOF(FREETEXT, "лежу") string sql = @" SELECT TOP (10) a.Id, a.Title, a.Content, fts.[RANK] FROM CONTAINSTABLE(Departments, (Title), @ftsQuery) AS fts INNER JOIN Articles AS a ON fts.[KEY] = a.ID ORDER BY fts.[RANK] DESC"; }