问题标签 [lucene.net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
787 浏览

asp.net - 我的 Lucene 文档中应该包含哪些内容?

我使用Lucene.net在我们的 CMS 上索引内容和文档等。到目前为止效果很好,但现在我必须考虑到网页的以下添加:

  1. 发布日期
  2. 到期日
  3. 页面“处于活动状态”
  4. 用户授权

因此,搜索结果应该只显示发布/到期窗口内的页面,这些页面是“活动的”并且当前用户有权查看。

我应该在 Lucene 索引中包含上述信息吗?它会使查询变得更复杂一些,但 hits 集合只会返回“有效”文档,这将使分页结果更容易。

另一方面,我将重复 CMS 数据库中已经存在的信息,因此我将冒着数据完整性的风险,并且每当上述列表中的任何内容发生更改时,我都会更新索引以及实际内容本身。

还有其他人有这个问题吗?你是怎么解决的?谢谢。

编辑:我可能需要使用“FieldCache”(此处提到)将“有效”文档 ID 传递给 lucene 搜索?

0 投票
2 回答
1130 浏览

lucene - 如何传递“允许”ID 列表来过滤 Lucene 搜索?

我只需要返回用户可以通过 Lucene 搜索访问的文档。我可以从构成“允许”子集的数据库中获取 ID 列表。我怎样才能将这些传递给 Lucene?我在网上找到的文章建议我需要使用 BitSet 和 FieldCache(对吗?),但我很难找到好的示例。有人有吗?

我正在使用 C#,但任何语言都会很棒。谢谢。

0 投票
1 回答
1215 浏览

c# - Linq to Lucene:“Lucene Term 的谓词不能是空字符串。”

我正在尝试在我的项目中实现 Linq To Lucene,但是在尝试搜索某些内容时,我总是得到一个Enumeration yielded no results结果,当我调试并尝试[IndexContext].[TableProperty]Watch窗口中打开我时,我收到以下消息:

Lucene Term 的谓词不能是空字符串。

我曾尝试在 Google 中搜索此内容,但显然它没有返回任何结果!

有没有人遇到过这个消息?我该如何解决?因为目前它没有返回任何数据

[更新]

显然问题是当Between我使用. 举个例子:MatchLikeLucine.Linq.Extensions

以下查询返回结果:db.Artists.Where(a => a.Name == "Camel");

但是这个没有:db.Artists.Where(a => a.Search("Camel"));

[更新]

经过进一步测试,我意识到Match扩展方法确实返回了结果,而其他方法 ( Search, Like) 没有。我仍在为这个问题而苦苦挣扎

0 投票
3 回答
5450 浏览

c# - 更新 Lucene 索引时出现异常

我是 Lucene 搜索 API 的新手。更新 Lucene 索引时,我不断收到以下异常...为什么会出现此错误以及如何避免它?

谢谢阅读。

0 投票
1 回答
2214 浏览

lucene - 在 WhitespaceAnalyzer 中使用停用词

Lucene 的 StandardAnalyzer 在索引时从字符串/首字母缩略词中删除点。我希望 Lucene 保留点,因此我使用的是 WhitespaceAnalyzer 类。

我可以将我的停用词列表提供给 StandardAnalyzer...但是我如何将它提供给 WhitespaceAnalyzer?

谢谢阅读。

0 投票
2 回答
2115 浏览

lucene - 关闭索引阅读器

我的 Lucene 代码中有一行:

在我的 finally 子句中,当我执行 searcher.Close() 时,它是否也会在幕后执行 searcher.GetIndexReader().Close?

还是我需要显式调用 searcher.GetIndexReader().Close() 方法来关闭 IndexReader?

谢谢阅读。

0 投票
2 回答
2543 浏览

lucene - 使用 IndexReader IsLocked 和 Unlock 方法

打电话之前AddDocument(),IndexWriter我打电话可以吗

如果它返回true,则调用

IE

我不断收到“锁定获取超时”。我的代码中的错误。为了克服这个错误,如果可以的话,我计划采用这种方法。

0 投票
2 回答
13418 浏览

search - 使用 Lucene.net 进行精确短语搜索

我无法使用 Lucene.NET 2.0.0.4 搜索确切的短语

例如,我正在搜索“范围属性设置变量”(包括引号)但没有收到匹配项,我已经确认 100% 的短语存在。

谁能建议我哪里出错了?Lucene.NET 甚至支持吗?像往常一样,API 文档并没有太大帮助,我读过的一些 CodeProject 文章也没有特别提到这一点。

使用以下代码创建索引:

然后我使用以下方法搜索一个短语:

目标文档约为 7 MB 纯文本。

我已经看到了这个先前的问题,但是我不想要一个邻近搜索,只是一个精确的短语搜索。

0 投票
2 回答
305 浏览

lucene - 有没有推荐的 IndexSearcher 方法?

我在基于 Web 的应用程序中使用 Lucene 搜索 API。Lucene 的 IndexSearcher 类的哪个方法推荐使用?有没有比其他方法更快的方法?

1.IndexSearcher(目录目录) 2.IndexSearcher(IndexReader r) 3.IndexSearcher(字符串路径)

谢谢阅读。

0 投票
1 回答
882 浏览

lucene - 重用索引搜索器

我在基于 Web 的应用程序中使用 Lucene,并希望对所有传入请求重用 Indexsearcher 的相同实例。

这个逻辑(使用 C#)有意义吗?请提出建议。