問題タブ [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.
search - PowerShellを使用してWindowsサーチインデックスの場所を変更するにはどうすればよいですか?
WindowsSearchインデックスのデフォルトの場所はですC:\ProgramData\Microsoft
。私の場合、この場所は限られたスペースのSSD上にあります。したがって、インデックスキャッシュをより多くのスペースがある別のドライブに移動したいと思います。GUIを使用してこれを行う方法を知っています。
PowerShellを使用してこれを行う方法を知りたいですか?だから私はプロセスを自動化することができます。
windows-search - WindowsSearchのプロパティハンドラーをデバッグする方法
Windows Searchのプロパティハンドラープロジェクトを管理していますが、SearchFilterHost.exeによって読み込まれます。SearchFilterHost.exeがいつ起動されるか、コマンドライン引数の使用法がわからない、およびSearchFilterHost.exeが起動後1〜2分で終了することがわかったため、デバッガーを使用してプロセスをアタッチするのは困難です。ロードしたDLLをデバッグします。
Windows Searchのプロパティハンドラーをデバッグする方法は?
c# - Windows Search Service のカタログをプログラムで作成する
Windows Search Service のドキュメントとサンプルを 1 日以上読んでいます。多くのことを学びましたが、探していた答えにはまだ近づいていません。
コンテキストは、全文検索に Indexing Service を使用する Web アプリを持っていることです。これはサポートされなくなり、多くのバグがあるため、インデックス サービスから Windows Search サービスに移行したいと考えています。
インデックス サービス ソリューションでは、(既定のシステム インデックスを使用する代わりに) インデックスを作成するドキュメントのカタログを作成します。具体的には、CIODMLib.AdminIndexServer オブジェクトを使用して、必要に応じてプログラムでカタログを作成します。
WSS に移行する必要があるまでは、これで十分です。せいぜい、WSS のドキュメントでカタログについての言及をたまに見つけるだけで、たとえば C# でカタログを作成するための API については何も見つかりません。では、最初の質問: WSS カタログをプログラムで作成する方法はありますか?
フォローアップの質問として、複数のカタログを作成する必要さえありますか? SystemIndex で SCOPE() (SQL 構文のように) を安全に使用して、全文クエリを効率的に作成できますか?
visual-c++ - MFCプログラムからWindowsサーチを介してファイルメタデータを読み取る
WindowsSearchのインデックスサービスを介してDWG/AutoCADファイルのメタデータを読み取りたいのですが。AutoCADを開かずにエクスプローラを右クリックしてアクセスできるプロパティについて話しています。
Visual C ++ 2005で記述されたMFCダイアログベースのアプリケーションがあり、このアプリ内から、指定されたファイルのメタデータ(作成者、作成日など)にアクセスしたいと思います。これはiFilterによって実行されましたが、Windows XP以降は非推奨であり、Windows 8では廃止されます(また、LoadIFilterはVS2005には存在しません)。今私が理解していることから、それはウィンドウサーチで行うことができます-私が間違っているなら私を訂正してください。私が見つけたすべての例(msdnを含む)は、インデックス作成のためにWindowsサーチに自分のファイルに関するデータを提供する方法を示しています。私が必要としているのは、特定のファイルのメタデータについてWindowsSearchに問い合わせる方法を知ることです。
ありがとうtgwilk
編集:これが私がこれまでに思いついたものです:
接続文字列(constr)は
ISearchQueryHelperによって返されます。そして、クエリ(querystr)は
ここでの問題は、例外が発生することです。
この行に
クエリからの空の結果が続きます(このコードはWSQ_GetCDateからのものです):
驚くSUCCEEDED(hr)
べきことに、例外の後にtrueを返します。どこでエラーを起こしましたか?それを見つける方法は?
ありがとうtgwilk
mysql - ドキュメントコンテンツを検索するための提案-WindowsSearchは何か良いですか?単純なMySQL?
私は、ユーザーがファイルのコンテンツをオンラインですばやく検索できるようにしたいと考えている小さなオンラインドキュメント管理会社のWebスクリプトを書いています。多くのアカウントは非常に小さいですが(100個の2MBファイル未満)、1,000,000ファイル以上のアカウントがいくつかあります。PDFおよびDOC/DOCXのサポートが必要です。バイナリファイルはインデックスに登録されません。
基本的な検索結果を提供するシンプルなソリューションを探しています。派手すぎるものはありません。各ユーザーにはホームフォルダがあります(検索ではサブフォルダのみが検索されます)。そのため、検索システムが最適である必要があることに注意してください。たとえば、100 MBのアカウントを持つユーザーがホームフォルダを検索すると、次のようになります。他の4TBのファイルを検索しないように意味します。
何を指示してるんですか?
これが私が見ていたいくつかのオプションです:
1)このためにWindows Searchを使用することを考えていました-コマンドラインツールまたはAPIを使用します。しかし、各サーバーは文字通り10億のファイルを持つことができ、上位3つの結果を即座に配信する必要があります。Windows Searchは機能しますか?それとも、これは欲求不満をもたらしますか?
2)カスタム:インデックス情報を保持するための単純なオープンソースのMySQLデータベースプログラムを作成します。英語には約100,000の単語があります...次に、カスタムの単語と頭字語があります。したがって、高速検索を行うには、単語とユーザーアカウントに基づいてインデックスを作成するのが理にかなっています。DBサイズを小さくするために、「ジョギング」が「ジョギング」、「フィドル」が「フィドル」になるように前処理します。 サーバーごとに150の顧客アカウントがある場合、1つの大きなDBを使用するのは理にかなっていますか、それともUserIDフィールドを削除して各ユーザーにDBを提供するのが理にかなっていますか?
IsWordForm =完全一致ではなく、単語の形式であることを示します。例:ファイル内の単語は、元々ドキュメント内で「ジョギング」または「ダンス」でしたが、「ジョギング」または「ダンス」という短い形式でファイルされています。(クエリがワードフォームでもあった場合は、関連性に役立ちます。)IsWordFormの可能性は高いです。トップ=単語はドキュメントのトップ50ワードにあります(タイトルを示します)
5〜15%の小さなストレージオーバーヘッドが欲しいのですが。CPUは非常に貴重です...しかし、各ファイルはWordIndexに数千のレコードを生成するため、ファイルごとに多くのオーバーヘッドが発生します。つまり、
...これは最長のテーブルであり、WordIDは不必要に繰り返されます。
3)MySQLを使用したハッシュ単語の検索になることがわかっているため、純粋なリレーショナルデータベースは最適なモデルではない可能性があります...
一致するファイルのリストに各単語を「ハッシュ」する方が効率的かもしれません。例:単語ごとに、2列のテーブルを作成します。私たちはそれが何であるかを知っているので、あなたはテーブルの中で単語を「調べる」必要はありません。このリストは、単語ごとに2列のテーブルにすることができます。
4)SolRも調べましたが、やり過ぎだと思います。それは悪い仮定ですか?PDFとDOCをサポートしていますが、統合するのもかなりの作業です...自分でそれを行うのはほぼ同じ量の作業になると思いますが、もちろん、コーダーとして、仮定が間違っていることがよくあります。 。
考えてください!!!
c# - C# コードを介して Windows コントロール パネル項目 (アプレット) にアクセスする
私はこれが初めてで、小さな仕事があります。ウィンドウでアクセスできるものにアクセスしたりcontrol panel items
、実行search
したりdisplay their name, description and task lists
します。Windowsエクスプローラーの検索に似たもの。
これが私が今までやってきたことです。こちらのアプローチに従いましたが、システム フォルダー内の cpl ファイルにアクセスできます。しかし、それらはすべての cpl ファイルではありません。したがって、私の結果は、目的の結果セットのサブセットになります。
また、ファイルにアクセスしても、検索操作に役立つその他の詳細をcpl
取得できません。task list
私が望む結果については、画像を参照してください
display
この結果は、コントロール パネルのエクスプローラー内で検索すると表示されます。
他に何を試す必要がありますか?誰かが私を案内できますか?
前もって感謝します。
powershell - バッチまたは vbscript を使用して Windows 7/8 検索インデックスに場所を追加する方法は?
プログラムで Windows 8 検索インデックスに場所 (スコープ) を追加しようとしていますが、グーグルで調べたところ、次のコードが見つかりました。
残念ながら、オブジェクトを作成できないこと800A01AD
を示唆するエラーが表示されます。Microsoft.ISAdm
さらに掘り下げてみると、上記のコードは Windows 8 の新しいバージョンの Windows Search では機能しないようです。
VBスクリプトを使用して、またはコマンドラインからそれを行う方法を知っている人はいますか?おそらく、Windows 7で動作するものはWindows 8でも動作しますか?
search - Windows 7のスタートメニュー検索アルゴリズムを変更しますか?
Sublime Text 2がコマンドパレットに使用するあいまい一致検索アルゴリズムが本当に気に入っており、Windows7の[スタート]メニュー検索で実行される同様のアルゴリズムを作成したいと考えていました。
.NETFramework用のWindowsAPIコードパックはすでに見つかりましたが、それは自分のアプリケーション内で既存のWindowsSearchを使用するためのAPIフックを提供するだけのようです。
インストールされているアプリケーションやファイルの検索に[スタート]メニューの検索で使用する検索アルゴリズムを変更または置換する方法はありますか?
algorithm - 用語のリストを自動的に取得し、Windows検索機能(コンテンツ用)にインポートして、結果のリストをエクスポートします。(AutoIT?)
私の次の大きな課題は、Windowsサーチ機能を自動化するためのスクリプト(私がほとんど経験のない領域であるAutoITにあると思います)を書くことです。
最終的な目標は、.txtファイル(1行に1つの文字列)から検索語のリストを取得し、コンピューター上のすべてのドキュメントのコンテンツでその検索語を(一度に1つずつ)検索することです。
これを手動で行うことができます-コンテンツによる検索機能をオンにし、接続されているすべてのドライブ上のすべてのファイルにインデックスを付け、用語を1つずつ検索し、すべてを強調表示>Shiftキーを押しながらクリック>パスとしてコピー>メモ帳に貼り付けて名前を付けて保存[searchterm].txt。
ただし、そのプロセス全体を自動化する必要があります。使用するWindowsのバージョン(XP、Vista、7、8)ごとに個別のスクリプトを作成する必要があるかもしれないことを理解しています。
これは達成するのに十分簡単なタスクですか、それともプログラミングに多くの時間がかかりますか?誰かが私を正しい方向に向けることができますか?すべての助けに感謝します。