gpt4 book ai didi

c# - Lucene.Net - 如何检索单个文档

转载 作者:太空宇宙 更新时间:2023-11-03 13:06:50 25 4
gpt4 key购买 nike

在 Lucene.Net 中,如何根据字段值检索单个文档?在这种情况下,字段值对于单个文档始终是唯一的。

我希望使用的字段是“Id”,这是我文档的结构:

var doc = new Document();

// Add lucene fields mapped to DB fields
doc.Add(new Field("Id", searchResult.Id, Field.Store.YES, Field.Index.NOT_ANALYZED));
doc.Add(new Field("Name", searchResult.Name, Field.Store.YES, Field.Index.ANALYZED));
doc.Add(new Field("Region", searchResult.Region, Field.Store.YES, Field.Index.ANALYZED));
doc.Add(new Field("Type", searchResult.Type, Field.Store.YES, Field.Index.NOT_ANALYZED));
doc.Add(new Field("Permalink", searchResult.Permalink, Field.Store.YES, Field.Index.NOT_ANALYZED));

我可以找到很多搜索 Lucene 以获得多个结果的示例,但没有找到检索单个项目的示例。我确信这一定是可能的,因为我想它只需要更新 Lucene 中的特定文档。

我想第一步是将“Id”字段更改为 ANALYZED 而不是 NOT_ANALYZED 并重建索引。

我觉得可能有一个很好的简单方法我还没有偶然发现用于检索单个文档而不是使用 QueryParser?

最佳答案

您可以使用查询解析器,这是在 lucene 中添加文档的更好方法,我在许多项目中使用它来创建索引,

doc.Add(new Field("Id", searchResult.Id,Field.Store.YES, Field.Index.ANALYZED_NO_NORMS));    

关于c# - Lucene.Net - 如何检索单个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30519036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com