2 種類の solr クエリがあります。1 つは EDisMax パーサーを使用し、もう 1 つはデフォルトとして標準クエリ パーサーを使用します。以下は、私が使用した 2 つのクエリです。クエリの目的は、次の単語 ELM、PST、June を含まないドキュメントです。
EDisMax クエリ
q= content:(-EML -PST -June) OR contentenstem:(-EML -PST -June)&start=0&rows=25 &defType=edismax&fl=コンテンツ ファイル名
約 12232 の結果が生成されます。ドキュメントの 4292 の結果には、EML、PST、または June という特定のクエリ文字列が含まれているため、4292 の結果ドキュメントは間違っています。
標準パーサー クエリ
query:q=size:[ 0 TO * ]&fq=content:( -EML -PST -June )&fq=contentenstem:( -EML -PST -June )&start=0&rows=25&fl=コンテンツファイル名
約 7940 件の結果が生成されます。
このクエリで EDisMax クエリが失敗した理由;EDisMax パーサー クエリを使用して正しい結果を得る方法
EDisMax と標準クエリ パーサーがドキュメントの AND & OR ブール クエリを解析する方法がわかれば、異なるパーサーで異なるドキュメント カウントが発生した理由の答えが得られる可能性があります。