예제 #1
0
        public ITsString CreateFromAStr(XmlNode aStrNode, out int wsAStr)
        {
            wsAStr = m_wsCache[aStrNode.Attributes["ws"].Value];
            var tisb = m_tsf.GetIncBldr();

            tisb.SetIntPropValues((int)FwTextPropType.ktptWs, 0, wsAStr);
            ProcessRunElements(aStrNode.ChildNodes, tisb);

            return(tisb.GetString());
        }
        public void FullTextSearchTest()
        {
            var searcher = new StringSearcher <int>(SearchType.FullText, m_wsManager);

            searcher.Add(0, 0, m_tsf.MakeString("test", m_enWs));
            searcher.Add(1, 0, m_tsf.MakeString("c'est une phrase", m_frWs));
            ITsIncStrBldr tisb = m_tsf.GetIncBldr();

            tisb.SetIntPropValues((int)FwTextPropType.ktptWs, (int)FwTextPropVar.ktpvDefault, m_frWs);
            tisb.Append("C'est une sentence. ");
            tisb.SetIntPropValues((int)FwTextPropType.ktptWs, (int)FwTextPropVar.ktpvDefault, m_enWs);
            tisb.Append("We use it for testing purposes.");
            searcher.Add(2, 0, tisb.GetString());
            searcher.Add(3, 0, m_tsf.MakeString("Hello, how are you doing? I am doing fine. That is good to know.", m_enWs));

            CheckSearch(searcher, m_tsf.MakeString("test", m_enWs), new[] { 0, 2 });
            CheckSearch(searcher, m_tsf.MakeString("c'est une", m_frWs), new[] { 1, 2 });
            CheckSearch(searcher, m_tsf.MakeString("t", m_enWs), new[] { 0, 2, 3 });
            CheckSearch(searcher, m_tsf.MakeString("testing purpose", m_enWs), new[] { 2 });
        }