1

django アプリの mysql データベースにインデックスを付けるためのスフィンクス サーバーがあります。検索は正常に機能していますが、コンテンツに医療用語/フレーズが含まれています。たとえば、「dvt」を検索して、「深部静脈血栓症」や「深部静脈血栓症」とも一致させる必要があります。ドキュメントを調べたところ、「wordforms」と「morphology」のオプションが表示されました。これら(または他のもの)のどれを使用する必要がありますか?また、何が逆に機能しますか?つまり、「深部静脈血栓症」/「深部静脈血栓症」の検索は、「dvt」と一致します。

また、私は一般的にスフィンクスを初めて使用するため、これらの設定方法についてアドバイスをいただければ幸いです。

4

1 に答える 1

1

クエリ拡張で使用する単語/用語の類義語の独自のリストを提供する必要があります。

Sphinx は現在、クエリで同義語の拡張をサポートしていないため、検索エンジンに送信する前に、同義語のリストに基づいてクエリをマッサージする必要があります。

だから、あなたの例を使用して:

  • ユーザー クエリ:「dvt 修復手順」。

  • サーバーはクエリを受け取り、各用語を同義語のリストと照合します。

  • サーバーは一致を見つけ、クエリに「深部静脈血栓症」を追加します。

  • サーバーは、新しく拡張されたクエリ「dvt 深部静脈血栓症修復手順」を検索エンジンに送信します。

最後に、Sphinx に組み込まれているステマーが機能している場合、'venous' と 'vein' の両方を別々の用語としてサポートする必要はありません。これらは両方とも同じ用語に由来するはずだからです。そうでない場合は、コーパスに固有の単語 (医学用語) を処理するために、追加のプレステミングを行う必要がある場合があります。

于 2011-06-09T02:28:35.310 に答える