我正在使用Lucene來搜索索引,它工作正常。我唯一的問題是,我只需要一個特定的領域返回什麼。你能指定Lucene只返回結果中的某個字段而不是整個文檔嗎?僅從Lucene返回某些字段搜索
3
A
回答
9
這就是爲什麼FieldSelector
類存在。 您可以實現這樣的
class MyFieldSelector : FieldSelector
{
public FieldSelectorResult Accept(string fieldName)
{
if (fieldName == "field1") return FieldSelectorResult.LOAD_AND_BREAK;
return FieldSelectorResult.NO_LOAD;
}
}
一類,並把它作爲indexReader.Document(docid,new MyFieldSelector());
如果你有興趣在加載小領域,這將阻止加載大領域,反過來,意味着加載文檔時加快速度。我想你可以通過一些Google搜索找到更詳細的信息。
-2
你是什麼意思「返回某些領域」? Document.get()函數僅返回您請求的字段。
-2
是的,你絕對可以做你正在問的東西。您所要做的就是在document.get()方法中包含字段名稱(區分大小寫)。
string fieldNameText = doc.Get("fieldName");
僅供參考,在您的問題中包含一些代碼通常是一個好主意。它使得更容易提供一個好的答案。
相關問題
- 1. 使elasticsearch僅返回某些字段?
- 2. Lucene搜索字段必須以某些字母開頭
- 3. 如何控制Lucene中的某些字段的搜索
- 4. 僅搜索某些文件
- 5. 檢索由Lucene搜索返回的所有文檔的某些字段的最佳方法
- 6. Zend搜索Lucene - 搜索特定字段
- 7. Lucene搜索2字段
- 8. 在Lucene中搜索字段
- 9. Lucene搜索所有字段
- 10. Lucene - 搜索數值字段
- 11. BOLT CMS - 禁用搜索某些字段
- 12. 如何僅返回Strapi中選定的某些字段?
- 13. Azure搜索 - 僅返回字段中的特定字數
- 14. Lucene索引字段不可搜索
- 15. Solr/Lucene在某些字詞搜索中表現怪異
- 16. 搜索多個數字字段Lucene
- 17. Lucene搜索返回不同的結果
- 18. Cassandra的Stratio Lucene:'contains'搜索返回'[[''
- 19. Lucene搜索返回沒有記錄
- 20. Lucene .NET沒有返回搜索結果
- 21. Lucene搜索沒有返回結果
- 22. Zend Lucene僅在指定字段中使用篩選器搜索
- 23. ES搜索查詢調用並僅返回選定的字段
- 24. MarkLogic搜索:搜索不返回片段
- 25. 在Zend中增強字段搜索Lucene
- 26. 在Lucene中搜索TokenStream字段
- 27. Zend Lucene搜索相關字段?
- 28. 在lucene中搜索首選字段
- 29. Lucene中的多字段搜索
- 30. Symfony lucene獨立搜索字段
這就是我現在使用的,但我只需要一個字段,所以我只是想知道是否有辦法只返回該字段而不是整個文檔。 – aaronj 2012-01-27 19:35:40
@aaron:我還不確定你的意思是「迴歸」。來自'Document.get'的結果文本只是該字段的文本。如果你的意思是你不想存儲其他字段的值,只需將它們標記爲不存儲。 – Xodarap 2012-01-27 21:57:06
-1但'reader.Document'加載整個文檔,而不僅僅是一個字段 – 2012-01-28 20:06:21