lucene.net 排序不起作用访问冲突

2024-04-02

我正在尝试在 lucene 中对结果进行排序

但是我不断收到此错误

Search.dll 中发生“System.AccessViolationException”类型的未处理异常

附加信息:尝试读取或写入受保护的内存。这通常表明其他内存已损坏。

我尝试将 Field.Index 设置为已分析和未分析,但没有任何乐趣。

Analyzer analyzer = new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29);

var parser = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, "Title", analyzer);
Query query = parser.Parse(searchTerm.Trim() + "*");

var searcher = new IndexSearcher(directory, true);

var sortBy = new Lucene.Net.Search.Sort(new Lucene.Net.Search.SortField("Title", Lucene.Net.Search.SortField.STRING, true));

var filter = new QueryWrapperFilter(query);
// TopDocs topDocs3 = searcher.Search(query, filter, 500,sortBy);
// TopDocs topDocs = searcher.Search(query,500);
TopDocs topDocs2 = searcher.Search(query,null, 500, new Sort(new SortField("Title", SortField.STRING)));

var re = searcher.Search(query, null, 10, new Sort(new SortField("id", SortField.INT, true)));

当我尝试在 LUCENE_30 中排序搜索结果时,我遇到了同样的错误。我必须说这个例子是我匆忙写的,没有经过测试。 我所做的如下:

string sortText = Enum.GetName(typeof(SortableFields), sortBy);
        SortField field = new SortField(sortText, SortField.STRING, sortDesc);
        var sortByField = new Lucene.Net.Search.Sort(field);
        TopFieldCollector collector = Lucene.Net.Search.TopFieldCollector.Create(sortByField, MaxSearchResultsReturned, false, false, false, false);

        using (Analyzer analyzer = new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_30))
        {
            var queryParse = new QueryParser(Lucene.Net.Util.Version.LUCENE_30, IndexFields.FullText, analyzer);
            queryParse.AllowLeadingWildcard = true;
            Query query = queryParse.Parse(searchText);
            using (var searcher = new IndexSearcher(directory, true))
            {
                searcher.Search(query, collector);
                totalRows = collector.TotalHits;
                TopDocs matches = collector.TopDocs(skip, take);

                // convert results to known objects

                var results = new List<SearchResult>();
                foreach (var item in matches.ScoreDocs)
                {
                    int id = item.Doc;
                    Document doc = searcher.Doc(id);
                    SearchResult result = new SearchResult();
                    result.ID = doc.GetField("ID").StringValue;
                    results.Add(result);
                }
            }
        }

              return results;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

lucene.net 排序不起作用访问冲突 的相关文章

随机推荐

  • Paster db init -c XXXX/development.ini 不适用于 CKAN 命令“db”不知道

    我是 CKAN 和 python 的第一次用户 我的大部分开发都是在 NET 我是第一次在 Windows 7 计算机上设置 CKAN 我正在尝试运行该行 paster db init c FOLDER NAME development i
  • PHP中如何获取最后修改的文件?

    我想创建一个列表 列出上次修改的文件的名称 http www searchr us web search 我想在我的主页上显示这些文件名 它们应该根据上次修改的文件进行更改 你可以使用这个功能 function listdir by dat
  • 调用未定义函数password_hash()

    我正在开发我的网站时 现在正在本地主机上运行 php 版本 5 4 16 我想用password hash 但我不断收到此错误 致命错误 调用未定义函数password hash dir to file php在线的123 为什么会发生这种
  • 如何加载目录中的所有文件?

    正如标题所说 如何加载目录中的每个文件 我对c 和lua都感兴趣 编辑 对于 Windows 我很高兴能得到一些真正的工作代码 尤其是 lua 我可以用 boost filesystem for c 来做 对于 Lua 你需要模块Lua文件
  • Heroku 30 秒超时(长外部查询)的解决方法

    注意 这篇文章中的某些内容可能不是最佳实践 被警告 我正在开发一个连接到微实例 AWS 服务器的管理仪表板 该数据库拥有数千万条记录 大多数查询都会在几秒钟内返回 但有些查询需要长达一两分钟的时间才能返回 这取决于我无法控制的一些事情 由于
  • GHC如何实现unsafePerformIO?

    从 开始unsafePerformIO并以 RTS libc 或操作系统 API 结束 GHC 如何实现 IO 我试图了解当标准前奏不可用时 IO 在 Haskell 中如何工作 例如 如果我们出于某种原因自己实现标准前奏 我原本希望在 G
  • 寻找参考nodejs,expressjs和mongodb应用程序用作模板

    我想构建一个 Nodejs 应用程序 并且正在寻找一个很好的参考应用程序来用作模板 理想情况下 该应用程序应具有以下功能 使用nodejs expressjs 和 mongodb 有一个用户认证子系统 我想下载这样一个应用程序并让它开箱即用
  • stylesheet_pack_tag 在使用 webpacker gem 的 Rails 5.1 中找不到 app/javascript/src/application.css

    当我尝试使用 webpacker 在新的 Rails 5 1 应用程序中加载页面时 收到此错误 我希望 webpacker 也能处理 CSS Started GET for 1 at 2017 09 01 12 20 23 0400 Pro
  • Git暂存区只是一个索引吗?

    Pro Git 一书说 暂存区域只是一个列表或索引 它说明了当某个文件发生变化时将提交哪些文件 git commit完成了 现在的名字index通常被称为 暂存区 但是如果我们修改文件foo txt这已经是回购协议的一部分 并使用git a
  • 在 Mathematica 中计算此递推关系的更有效方法

    Verbeia 对 Mathematica 中函数式编程风格的表现展开了一场相当有趣的讨论 在这里能找到它 在 Mathematica 中构建大型分块矩阵最有效的方法是什么 https stackoverflow com q 6867079
  • 实现 GLSurfaceView.Renderer 问题

    代码源自教程 我正在开始一些OpenGL ES 2 0对于Android系统 我从以下位置获取了以下代码 http developer android com training graphics opengl environment htm
  • 在 iOS 中,线程安全意味着什么?

    我经常遇到 线程安全 这个关键术语 并想知道它的含义 例如 在 Firebase 或 Realm 中 某些对象被视为 线程安全 线程安全到底意味着什么 线程不安全 是否允许多个线程同时修改任何对象 线程安全 如果任何对象不允许被多个线程同时
  • 为什么这个 Java 应用程序在 Mac 上运行缓慢,而不是在 PC 上运行? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我使用Java创建了一个应用程序 它在Windows平台上运行顺利 然而 当在配备 4960HQ 的 Macbook Pro Reti
  • 如何在Spring Data JPA中插入对象时添加引用表Id

    我一直在玩 JPA 遇到了这种情况 想知道如何解决这个问题 我有 2 个表 即公司和员工 所以这里一个员工只能为1家公司工作 因此 OneToOne单向映射是在Employee类中完成的 公司表中的公司详细信息已经存在 因此 当我尝试将记录
  • 第一个通过 JavaScript 或 CSS 默认打开的手风琴

    我在 Shopify 产品页面中有 3 个手风琴 我打算在页面加载时默认展开第一个手风琴 页面加载后 单击其他手风琴应关闭所有以前打开的手风琴 我只想用纯 JavaScript 没有像 jQuery 这样的库 或 CSS 来做到这一点 我下
  • WPF文本渲染问题

    我创建了一个类似于 TabControl 的自定义控件 它工作得很好 除了当我调整内容大小时标题项中的文本变得模糊 例如 它可以如下所示 不仅文本 文本周围的框也可能变得不垂直 查看 常规 项周围的蓝色边框 是什么导致了这个问题 我已设置
  • 专门化类模板构造函数

    我正在搞乱模板专门化 并且在尝试根据所使用的策略专门化构造函数时遇到了问题 这是我试图开始工作的代码 include
  • 从 lapply 返回匿名函数 - 出了什么问题?

    当尝试使用创建类似函数的列表时lapply 我发现列表中的所有函数都是相同的 并且等于最终元素应该是什么 考虑以下 pow lt function x y x y pl lt lapply 1 3 function y function x
  • 无法将 HTTPS 与 ServerXMLHTTP 对象一起使用

    我支持通过 HTTPS 连接到支付网关的经典 ASP 应用程序 直到最近还没有出现任何问题 几天前 最新的更新安装在服务器 Windows Server 2003 上并导致网站崩溃 下面是一个代码片段 Dim oHttp Dim strRe
  • lucene.net 排序不起作用访问冲突

    我正在尝试在 lucene 中对结果进行排序 但是我不断收到此错误 Search dll 中发生 System AccessViolationException 类型的未处理异常 附加信息 尝试读取或写入受保护的内存 这通常表明其他内存已损