2

Orchard CMS ベースの Web サイトで完全なLucene クエリ構文を使用したいと考えてい ます。

現在、Orchard でのインデックス作成と検索を有効にした後、Orchard 検索管理ページで選択したフィールドに従って Web サイトで検索できるようになりました。

  • ただし、特定のフィールドのみで 1 つの検索を実行することはできません (検索全体の動作を変更する必要はありません)。
  • あいまい検索が使えない...

ログから、Orchard がその部分を (Lucene に適切なクエリ構文を提供して) 処理していることがわかりますが、私は自分でそれを行いたいと考えています。たとえば、Web サイトで「wel」を検索すると、Orchard は次のクエリを Lucene に送信します: title:wel* body:wel* (検索で title フィールドと body フィールドを有効にした場合)。

検索をカスタマイズするためのいくつかの機能のコーディングについて話しているブログをいくつか見ましたが、開発者モードに切り替える前に、何かが欠けていないことを確認したいと思います:)

4

2 に答える 2

2

検索で実行できるシナリオは非常に多いため、すぐにそのようなカバレッジを提供する方法はありません。そのため、カスタム検索機能が必要な場合に API を使用するのは非常に簡単です。

検索モジュールからコントローラーをコピーして貼り付け、ISearchBuilderパラメーターescapeを false にして の Parse() メソッドを使用する必要があります。これは、純粋な lucene クエリを解析します。WithField("body", "value")を使用して、より簡単なフィールド検索を行うこともできます。

于 2013-10-24T21:45:24.380 に答える