gpt4 book ai didi

用于过滤和排序的 lucene .net 解析器

转载 作者:行者123 更新时间:2023-12-05 05:29:46 25 4
gpt4 key购买 nike

在我们基于 lucene .net 的搜索 (Lucene 4.8.0-beta00016) 中,我们将生成的查询、过滤器和排序保存在自定义文本文件中。

例如:

"Query":"+name:*test*"
"Filter":"BooleanFilter(+type:project)"
"Sort":"<long: \"creationdate\">!"

我们构建了一个类似于 Luke 的测试工具,我们想在那里执行这个保存的搜索并运行程序化搜索:

对于查询,我可以使用 QueryParser 并获取相应的查询对象,但似乎没有用于过滤器和排序的解析器。

var queryParsed = new QueryParser().Parse("+name:*test*");
var filter = ?
var sort = ?
indexSearcher.Search(queryParsed, filter?, 10000, sort?);

有什么方法可以解析过滤器并将字符串排序为过滤器/排序对象?

最佳答案

您有没有想过以不同的方式序列化您的自定义文件?

我猜你的文件是通过调用每个对象类型的 toString() 方法生成的。像下面这样的东西

"Query:" + queryObject.toString()
"Filter:" + filterObject.toString()
"Sort:" + sortObject.toString()

如果您将原始查询、筛选和排序 .NET 对象序列化为二进制字符串,那么在您的测试工具中,您应该能够重新创建原始 .NET 对象。

https://learn.microsoft.com/en-us/dotnet/standard/serialization/

关于用于过滤和排序的 lucene .net 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74854682/

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