Katta で FieldCache を使用する方法、FieldCache は IndexReader を引数として期待し、次に Katta API から IndexReader を取得する方法。また、katta では、LuceneClient.java の検索メソッドが Hits を返します。これからリストを取得でき、そこから各ヒットの docId を取得できますが、Katta の docId の特定のフィールド値が必要です。コーディング例を教えてください。
2 に答える
0
私は Katta を使ったことがなく、Solr を使っていました。ID でドキュメントを取得する必要があり、Lucene クラスのみを使用する必要がある場合は、次を使用しますorg.apache.lucene.search.IndexSearcher
。
// when you figure out how to get IndexReader using Katta API, you'll be able to get the searcher
IndexSearcher searcher = new IndexSearcher(indexReader);
org.apache.lucene.document.Document doc = searcher.doc(docId);
String yourFieldValue = doc.get("yourFieldName");
于 2011-03-10T11:41:00.583 に答える
0
IndexReader はサーバー側にあるため、クライアント側で FieldCache を使用することはできません! ただし、LuceneClient の getDetails() メソッドを使用してフィールド値を取得できます。
final Hits hits = client.search(query, new String[] { INDEX_NAME }, 10);
for (final Hit hit : hits.getHits()) {
final MapWritable details = client.getDetails(hit, new String[] { "path" });
details.get(new Text("path"));
HTH ヨハネス
于 2013-03-08T16:59:56.033 に答える