私は Lucene にまったく慣れていませんが、最近、問題に遭遇しました。次のような lucene ドキュメントがあります。
--- type ---
gene
--- id ---
xla:379474
--- alt_id ---
emb:BC054227
gb:BC054227
ncbi-geneid:379474
ncbi-gi:148230166
rs:NM_001086315
rs:NP_001079784
unigene:Xl.24622
xla:379474
そのドキュメントを取得するために、以下のクエリを作成しました。では正常に機能しますが、またはでは機能altId = 379474
しません。altId をエスケープして試してみる必要があると思いましたが、うまくいきませんでした。それはクエリの予想される動作ですか?、何か不足していますか?altId = ncbi-geneid:379474
Xl.24622
String altId = QueryParser.escape(altId)
Query query1 = new TermQuery(new Term("type", "gene"));
Query query2 = new TermQuery(new Term("alt_Id", altId));
BooleanQuery query = new BooleanQuery();
query.add(query1, BooleanClause.Occur.MUST);
query.add(query2, BooleanClause.Occur.MUST);
ところで、私は lucene v3.0 を実行しています。