2016-05-24 10 views
0

私は、HP TRIM DBに接続する次のコードブロックを持っており、特定のコンテナのすべての内容を取得しようとしています。C#でHP TRIMコンテナの内容を取得する

using HP.HPTRIM.SDK; 

Database db = new Database(); 
db.WorkgroupServerName = ConfigurationManager.AppSettings["TrimWorkgroup"]; 
db.Id = ConfigurationManager.AppSettings["TrimDBID"]; 
db.WorkgroupServerPort = Int32.Parse(ConfigurationManager.AppSettings["TrimPort"]); 

TrimMainObjectSearch Contents = new TrimMainObjectSearch(db, baseObjectTypes.Record); 
Contents.SetSearchString("container:" + ContainerNum); 

私は見つけることができるものは何でもDOCOを見てみると、文字列のみに基づく検索を使用する参照があるように思われる、しかし問題があります。この種の

文字列ベースの検索は、年齢を取っています。コンテナあたり約25秒です。これは長すぎます。 HP TRIM [7.3.4.5739]内の「文字列ベースの検索エディタ」を使用すると、同様の時間がかかりますが、「ブール検索エディタ」メソッドを使用し、「包含されている」を選択して同じコンテナ番号を入力すると、 1秒以内に返されます。

それで、私の疑問は、C#で "contains within"のブーリアン検索を行う方法があるのでしょうか?

それはいつも行くと、私は、この文書につまずいたまで、私は困惑した

答えて

1

条件に:の代わりに=演算子を使用することもできます。 container:は文字列の任意のポイントで一致し、container=は完全一致を実行し、IDフィールドではこれははるかに高速です。

関連する問題