変数クラス文字列 QueryParser に正確に適合するものを知りたいです。ドキュメントには次のように書かれています。
しかし、私はあなたが何を意味するのか理解できませんでした!
ドキュメントに複数のフィールドがあることを考慮して、デフォルトのフィールドは、クエリが検索されるフィールドです。
たとえば、次のようなドキュメントがある場合
document{
author:"Erik Hatcher and Otis Gospodnetić"
BookTitle:"Lucene In Action"
Description:"The book covers end to end apis of lucene"
}
ここで、「Lucene」という単語を検索し、デフォルト フィールドが「BookTitle」であるとします。この場合、クエリが一致し、このドキュメントが検索結果の一部になります。ただし、「book」という単語を検索し、デフォルト フィールドが「BookTitle」の場合、結果は返されません。
そこで定義されたフィールド名は、クエリ自体でフィールドを指定しない場合に使用されるフィールドになります。
次のように、クエリ内で検索するフィールドを明示的に定義することに慣れているかもしれません。
content:(relevant terms) title:mytitle
デフォルトのフィールドはまったく影響しませんが、明示的なフィールドを定義せずにクエリを入力できます。
some terms
これは、次のように、クエリパーサーによってデフォルト フィールドで検索されていると理解されます。
defaultfield:some defaultfield:terms
同様に、次のように 2 つを混在させることができます。
title:mytitle other terms
これは、クエリ パーサーによって次のように解釈されます。
title:mytitle defaultfield:other defaultfield:terms
Lucene Query Parser Syntax のドキュメントでは、デフォルト フィールドの使用について説明しています。