5
Field.Store.YES
の代わりにField.Store.NO
を使用する環境について説明してください。私はLuceneにとって非常に新しいです。私は文書を作成しようとしています。私の基礎知識では、私はやっていますLucene Field.Store.YESとField.Store.NOとの比較
doc.add(new StringField(fieldNameA,fieldValueA,Field.Store.YES));
doc.add(new TextField(fieldNameB,fieldValueB,Field.Store.YES));
返信いただきありがとうございます。正確さと完全性のために:もし私が元に戻したいのがdocumentIdなら、 'Field.Store.NO'を使うべきです:検索は知覚できる差異なしに行われますが、documentIdだけが返されます。また、 'fieldType.setIndexed(true)'を明示的に指定する必要がありますか?そして、ドキュメントIDは単に 'scoreDoc.doc'ですか? –
パターンでは、documentIdは 'Store.YES'に設定された唯一のフィールドになることができます。フィールドが格納されているかどうかは、検索時に一致するドキュメントに影響を及ぼさない* [* IndexSearcher.doc'](https://lucene.apache.org/ core/5_3_0/core/index.html?org/apache/lucene/search/IndexSearcher.html))。識別子に何を使用するかについて、外部リソースから文書を識別しようとしている場合、私はLuceneの内部DocIDを使用しません。データベースのキー、ファイルシステムのパス、または状況に適したものを使用します。 – femtoRgon
通常、文書を索引付けするかどうかを指定する必要はありません。 'TextField'は索引付けされ、分析され、' StringField'は索引付けされますが分析されず、 'StoredField'は索引付けされません)。 – femtoRgon