問題タブ [windows-search]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - SystemIndex Catlog クエリがドキュメントのコンテンツを検索していません
特定の検索語についてローカル システムを検索するためのクエリを以下に示します。以下のクエリは、ファイルの内容からではなく、ファイル タイトルで指定された検索用語のみを検索しています。.doc および .pdf ドキュメントからではなく、.txt ドキュメントからファイルのコンテンツを検索するだけです。非常に奇妙に見えます。親切に助けてください。
事前にご協力いただき、ありがとうございました。
c# - Windows Search 経由でアプリケーションを起動すると、Path.GetFullPath(...) の結果が異なります
C# でPath.GetFullPathメソッドを使用すると、奇妙な問題が発生します。
アプリケーションの起動時に、いくつかのフォルダーを検索し、GetFullPath メソッドを介してパスを取得します。IDE を介して、または出力フォルダーをダブルクリックしてアプリケーションを起動すると、すべて正常に動作します。
しかし、エクスプローラーで出力ディレクトリに移動し、「*.exe」で実行可能ファイルを検索してアプリケーションを起動すると、GetFullPath メソッドは C ディレクトリから始まる文字列を返します。
この問題は、現在のディレクトリを C にリセットする Windows 検索によるものですか?
Assembly.GetExecutingAssembly().Location など、開始ディレクトリを見つける最善の方法は何ですか?
c# - Windows Search で場所がインデックス化されているかどうかを確認する
場所がインデックス化されているかどうかを確認する方法は? Windows で場所をインデックス化する次のコードを見つけましたが、これは正常に動作しますが、インデックス化する前に、インデックス化されているかどうかを確認したいと考えています。
皆様、IncludedInCrawlScope を使用して、その場所がインデックス作成に含まれているかどうかを確認する方法を見つけました。
ただし、インデックス作成が完了しているかどうかではなく、インデックス作成のために追加されているかどうかのみをチェックします。
c# - 部分的な数値を検索すると、Windows Search SQL が結果を返さない
Windows 2012 R2 サーバー上のファイル共有に Web インターフェイスを表示するプログラムを作成しました。Web アプリケーション内で、そのサーバーで実行されている Windows Search インデックスにクエリを実行する機能を追加して、ユーザーが結果を取得できるようにしました。以下は、インデックスで検索するために使用されるクエリです。
ファイル名の数字を除いて、ほとんどのシナリオでうまく機能します。全体として、すべてのグループのみが番号をグループ化しているように見えます。たとえば、「G-5687-R2.txt」という名前のファイルがある場合、「G」、「G-5687」、「5687」、または「2」を検索すると、ドキュメントが返されます。ただし、「G-56」または「56」を検索しても何も返されません。Windows エクスプローラー内で「56」検索を実行すると、ドキュメントが返されるため、クエリに何かが欠けていると思います。
以下の完全なコード:
windows-search - Windows Search をカスタム HTML META タグで動作させるにはどうすればよいですか?
Win2008 で Windows Search を使用します。Microsoft.Search.Interop (CSearchQueryHelper など) を使用して、プログラムで検索しています。ヘッダーに META タグを含む既存の html ファイルがあります。
これらを検索し ("foo:baaa" のクエリ)、結果セットで値を返せるようにする必要があります。(私は古いインデックス サービスでこれを行うことができました。)
プロパティ システム (PSRegisterPropertySchema) に "foo" プロパティを追加してみました。エラーなしで QuerySelectColumns で "foo" を使用できるようになりましたが、データは戻ってきません。また、CSearchQueryHelper は "foo:" をプロパティ制約として認識していないようです。
修飾されていない「baaa」を検索すると、ドキュメントが返されます。(baaa は meta タグ以外には現れません。)
c++ - IFilter C++ を使用して OLE プロパティを取得する
ファイルからテキストを抽出するために IFilter COM Object を使用しています。OLE プロパティの値(作成者の値、会社の値など) を抽出することはできましたが、どの値が作成者、会社などであるかを知る方法がわかりませんでした..
つまり、プロパティ ID を把握し、それをプロパティの値と一致させる必要があります。
IPropertyStorage->ReadMultiple を使用したソリューションを見てきましたが、IFilter を使用して同じものを取得しようとしています。
どうもありがとう!答えが見つかることを願っています。
c# - IErrorInfo.GetDescription は、OleDB 経由で Windows Search API を使用して E_FAIL(0x80004005) で失敗しました
次の C# コードを使用して、C# (OleDB アクセス) から Windows Search API を使用して、ローカル マシン (Windows 8.1) 検索インデックスのすべてのインデックス エントリを取得しています。
While(Reader.Read())
エラー IErrorInfo.GetDescription failed with E_FAIL(0x80004005)の行で、コードが再現不可能にクラッシュすることがわかりました。ループは、76,080 個のエントリのうち約 55,000 個を処理します。sText = reader.GetValue(4).ToString();
Autosummary フィールドは約 1000 文字で、ほとんどのエントリに存在するため、コメント アウトすると、ループがはるかに速く実行されます。この場合、クラッシュは発生しません。ループにブレークポイントを設定し、一度に 1 つのエントリをステップ実行すると、クラッシュがはるかに早く発生するため、タイミングの問題であると思われます。検索インデックスへのプログラムによるアクセスで同様の問題が発生し、回避策を見つけた人はいますか?