1

この 7.1 リリース ノートに記載されているように、いくつかの DotNetNuke カスタム検索クローラーを実装したいと考えています。

1 つは、ユーザーがディレクトリ機能を作成するためのものです (これはそのままでは含まれていないようです)。

1 つは独自の API 用です。

リリース ノートには、独自のクローラーを追加できると記載されていますが、これを行う方法に関するドキュメントや、ネット上で何かを見つけることができず、DNN ソースがどのクラスを見つけようとしているかについて少し迷っています。デフォルトのクローラーは、新しいクローラーを実装してインストールする方法は言うまでもありません。

また、7.1 ではまだ機能しない Aricie と、オートコンプリートの結果がキーワードではなく実際の結果である場合に最適な Search Boost についても調べました。

カスタムクローラーの実装を検討した人はいますか? この機能は新しすぎますか? DNN ソースのどこを調べればよいか、だれか助けてもらえますか?

[編集]

クラスを見つけてDotNetNuke.Services.Search.IndexingProvider、インデックスにドロスを追加するテスト プロバイダーを作成しました。ただし、このプロバイダーを検索エンジンに登録する方法がわかりません。のコードにDotNetNuke.Services.Search.SearchEngineは、実行するプロバイダーへの参照がハードコーディングされているようです-確かにこれを行う構成方法である必要がありますか?

4

1 に答える 1

2

ヘルカホリズム,

先週末、DNNCon で Ash Prasad の Lucene.NET セッションに参加しました。カスタム クローラーを実装するには、 と の 2 つのメソッドのオーバーライドを作成して、抽象DotNetNuke.Services.Search.Controllers.BaseResultControllerクラスを実装します。次に、これを SearchType ( ) として登録します。API に SearchType を作成するコントローラー メソッドが見つからないため、SQL スクリプトで直接 SearchType テーブルにレコードを追加する必要があるかもしれません。HasViewPermissionGetDocUrlDotNetNuke.Services.Search.Entities.SearchType

そうは言っても、これがあなたのソリューションのためにやりたいことだとは思いません。API からのユーザー データとカスタム データのインデックスを作成したいと考えています。どうやら、DNN 7.2 にはユーザー インデックスが追加されるようです。ベータ版のリリース ノートを参照してください。

API からのデータにインデックスを付けるにDotNetNuke.Entities.Modules.ModuleSearchBaseは、メソッドのオーバーライドを作成してGetModifiedSearchDocumentsSearchDocuments のリストを返す新しい実装を持つ DNN モジュールを作成する必要があると思います。これにより、API からのデータを DNN lucene インデックスに配置する方法を最大限に制御できます。モジュールにビューは必要ありません。モジュールを DNN にインストールし、インスタンスをページに配置するだけで済みます。

于 2013-10-21T17:30:04.873 に答える