gpt4 book ai didi

lucene - 在 lucene .net 中查找字段的所有可用值

转载 作者:行者123 更新时间:2023-12-01 09:36:15 24 4
gpt4 key购买 nike

如果我有一个字段 x,它可以包含一个值 y 或 z 等,有没有一种方法可以查询,以便我可以只返回已被索引的值?

示例x 可用的可设置值 = test1, test2, test3, test4

第 1 项:字段 x = test1

第 2 项:字段 x = test2

第 3 项:字段 x = test4

第 4 项:字段 x = test1

执行所需的查询将返回以下列表:测试1,测试2,测试4

最佳答案

我之前已经将其作为扩展方法实现过:

public static class ReaderExtentions
{
public static IEnumerable<string> UniqueTermsFromField(
this IndexReader reader, string field)
{
var termEnum = reader.Terms(new Term(field));

do
{
var currentTerm = termEnum.Term();

if (currentTerm.Field() != field)
yield break;

yield return currentTerm.Text();
} while (termEnum.Next());
}
}

您可以像这样非常轻松地使用它:

var allPossibleTermsForField = reader.UniqueTermsFromField("FieldName");

这会让你得到你想要的。

编辑:由于心不在焉,我跳过了上面的第一个学期。我已经相应地更新了代码以使其正常工作。

关于lucene - 在 lucene .net 中查找字段的所有可用值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7327375/

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