问题标签 [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.
asp.net - 我的 Lucene 文档中应该包含哪些内容?
我使用Lucene.net在我们的 CMS 上索引内容和文档等。到目前为止效果很好,但现在我必须考虑到网页的以下添加:
- 发布日期
- 到期日
- 页面“处于活动状态”
- 用户授权
因此,搜索结果应该只显示发布/到期窗口内的页面,这些页面是“活动的”并且当前用户有权查看。
我应该在 Lucene 索引中包含上述信息吗?它会使查询变得更复杂一些,但 hits 集合只会返回“有效”文档,这将使分页结果更容易。
另一方面,我将重复 CMS 数据库中已经存在的信息,因此我将冒着数据完整性的风险,并且每当上述列表中的任何内容发生更改时,我都会更新索引以及实际内容本身。
还有其他人有这个问题吗?你是怎么解决的?谢谢。
编辑:我可能需要使用“FieldCache”(此处提到)将“有效”文档 ID 传递给 lucene 搜索?
lucene - 如何传递“允许”ID 列表来过滤 Lucene 搜索?
我只需要返回用户可以通过 Lucene 搜索访问的文档。我可以从构成“允许”子集的数据库中获取 ID 列表。我怎样才能将这些传递给 Lucene?我在网上找到的文章建议我需要使用 BitSet 和 FieldCache(对吗?),但我很难找到好的示例。有人有吗?
我正在使用 C#,但任何语言都会很棒。谢谢。
c# - Linq to Lucene:“Lucene Term 的谓词不能是空字符串。”
我正在尝试在我的项目中实现 Linq To Lucene,但是在尝试搜索某些内容时,我总是得到一个Enumeration yielded no results
结果,当我调试并尝试[IndexContext].[TableProperty]
在Watch
窗口中打开我时,我收到以下消息:
Lucene Term 的谓词不能是空字符串。
我曾尝试在 Google 中搜索此内容,但显然它没有返回任何结果!
有没有人遇到过这个消息?我该如何解决?因为目前它没有返回任何数据
[更新]
显然问题是当Between
我使用. 举个例子:Match
Like
Lucine.Linq.Extensions
以下查询返回结果:db.Artists.Where(a => a.Name == "Camel");
但是这个没有:db.Artists.Where(a => a.Search("Camel"));
[更新]
经过进一步测试,我意识到Match
扩展方法确实返回了结果,而其他方法 ( Search
, Like
) 没有。我仍在为这个问题而苦苦挣扎
c# - 更新 Lucene 索引时出现异常
我是 Lucene 搜索 API 的新手。更新 Lucene 索引时,我不断收到以下异常...为什么会出现此错误以及如何避免它?
谢谢阅读。
lucene - 在 WhitespaceAnalyzer 中使用停用词
Lucene 的 StandardAnalyzer 在索引时从字符串/首字母缩略词中删除点。我希望 Lucene 保留点,因此我使用的是 WhitespaceAnalyzer 类。
我可以将我的停用词列表提供给 StandardAnalyzer...但是我如何将它提供给 WhitespaceAnalyzer?
谢谢阅读。
lucene - 关闭索引阅读器
我的 Lucene 代码中有一行:
在我的 finally 子句中,当我执行 searcher.Close() 时,它是否也会在幕后执行 searcher.GetIndexReader().Close?
还是我需要显式调用 searcher.GetIndexReader().Close() 方法来关闭 IndexReader?
谢谢阅读。
lucene - 使用 IndexReader IsLocked 和 Unlock 方法
打电话之前AddDocument()
,IndexWriter
我打电话可以吗
如果它返回true,则调用
IE
我不断收到“锁定获取超时”。我的代码中的错误。为了克服这个错误,如果可以的话,我计划采用这种方法。
search - 使用 Lucene.net 进行精确短语搜索
我无法使用 Lucene.NET 2.0.0.4 搜索确切的短语
例如,我正在搜索“范围属性设置变量”(包括引号)但没有收到匹配项,我已经确认 100% 的短语存在。
谁能建议我哪里出错了?Lucene.NET 甚至支持吗?像往常一样,API 文档并没有太大帮助,我读过的一些 CodeProject 文章也没有特别提到这一点。
使用以下代码创建索引:
然后我使用以下方法搜索一个短语:
目标文档约为 7 MB 纯文本。
我已经看到了这个先前的问题,但是我不想要一个邻近搜索,只是一个精确的短语搜索。
lucene - 有没有推荐的 IndexSearcher 方法?
我在基于 Web 的应用程序中使用 Lucene 搜索 API。Lucene 的 IndexSearcher 类的哪个方法推荐使用?有没有比其他方法更快的方法?
1.IndexSearcher(目录目录) 2.IndexSearcher(IndexReader r) 3.IndexSearcher(字符串路径)
谢谢阅读。
lucene - 重用索引搜索器
我在基于 Web 的应用程序中使用 Lucene,并希望对所有传入请求重用 Indexsearcher 的相同实例。
这个逻辑(使用 C#)有意义吗?请提出建议。