web-dev-qa-db-ja.com

dismaxとEdisMaxの違いは何ですか?

DisMaxとEDisMaxの違いは何ですか?それについて知っておくと役立つ参考資料はありますか?また、DisMaxがEDisMaxが結果を生成できる結果を生成できなかったクエリについて教えてください。

EDisMaxには、boostパラメータ、psパラメータ、pf2パラメータなどのクエリパラメータがあります。しかし、このクエリパラメータとは別に、EDisMaxはDisMax;よりも優れています。これらの2つの間でクエリがどのように処理されるか。What要因により、EDisMaxはDisMax。よりも優れています。

一部のクエリはDisMaxで結果を提供できませんでしたが、EDisMaxはそれらのクエリの結果を提供します。

DisMaxとEDisMaxの違いをググった。 EDisMaxで使用されているパラメーターは、DisMaxとEDisMaxの違いのみです。でも、プレゼンテーションで他の人に技術的に説明できるものを期待しています。

http:// ip:8983/solr/C73/select /?defType = edismax&q = iPod OR video&fl = filename、score&hl = true&hl.fl = content contentenstem filename&hl.zetaContentField = content

上記のクエリの場合、EDisMaxは約238の結果を生成します。ただし、DisMaxの結果は0です。したがって、この2つのパーサーによるこのクエリの処理の違いは何ですか?EDisMaxが結果を生成するのは何ですか?それが私が知りたいことです...

22
gangatharan

Dismaxには多くの制限があったため、EDismaxクエリパーサーが追加されました。

チェックアウト SOLR-155

はじめに(ドキュメントのように):-

拡張dismaxパーサーは、元のSolr dismaxパーサーに基づいていました。

  • 構文エラーがない場合に完全なLuceneクエリ構文をサポート
  • lucene構文モードで「AND」/「OR」を意味する「and」/「or」をサポート
  • 構文エラーがある場合、特殊文字の改良されたスマート部分エスケープが実行され、それらを防止します...このモードでも、フィールド化クエリ、+ /-、およびフレーズクエリは引き続きサポートされます。
  • Wordバイグラムによる近接ブースティングの改善...これにより、ドキュメント内の単語の100%がブーストを取得する必要があるという問題と、すべての単語が1つのフィールドに含まれるという問題が回避されます。
  • 高度なストップワード処理...ストップワードはクエリの必須部分では不要ですが、近接ブースティング部分では(インデックス付きの場合)引き続き使用されます。クエリがすべてのストップワードで構成されている場合(あるかどうか)、すべてが必要です。
  • 「ブースト」パラメーターをサポートしています。dismaxbf paramと同様ですが、関数クエリを追加するのではなく、乗算します
  • 純粋なネガティブネストされたクエリをサポートします... + foo(-foo)のようなクエリはすべてのドキュメントに一致します

ただし、クエリ解析機能を改善し、より多くの機能をサポートするために、関連する多くのJIRAを使用します。

JIRAを通して読むことは本当に洞察力があります:)

25
Jayendra

一般に、EDisMaxはDisMaxの拡張バージョンです。次のリンクで、両方のパーサーの適切な説明と違いを見つけることができます。

  1. DisMaxクエリパーサー
  2. 拡張DisMaxクエリパーサー
3