我正在使用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