问题标签 [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 - 如何在 ASP.NET 中使用位置信息实现搜索功能?
我目前正在研究使用 Lucene.NET 为我正在开发的 Web 应用程序上的搜索功能提供支持。但是,我正在实现的搜索功能不仅需要进行全文搜索,还需要根据与指定地址的接近程度对结果进行排名。
Lucene.NET 可以处理这个要求吗?或者我是否需要先实现某种方式将点击分组到不同的位置(例如,小于 5 英里、小于 10 英里等),然后使用 Lucene.NET 对这些组中的项目进行排名?还是我忽略了完全不同的方式?
c# - Web 应用程序中带有 IndexSearcher/IndexWriter 的 Lucene.net
我目前正在一个 Web 应用程序中运行 Lucene.net,并且想知道性能方面的最佳方法。
我目前已对其进行设置,以便在计划的过程中一起处理所有索引写入,同时优化索引。
但是对于搜索 - 我目前正在打开和关闭每个搜索的搜索器,我知道这并不理想。
您认为在这种情况下最好的方法是什么?
处理完更新/优化后,我需要关闭并重新打开索引搜索器,因此计划的进程(这是一个 Windows 控制台应用程序)需要将其完成传达给 Web 应用程序。
lucene - 如何让 Lucene QueryParser 更宽容?
我正在使用 Lucene.net,但我为 .NET 和 Java 版本都标记了这个问题,因为 API 是相同的,我希望这两个平台上都有解决方案。
我确信其他人已经解决了这个问题,但我还没有找到任何好的讨论或例子。
默认情况下,Lucene 对查询语法非常挑剔。例如,我刚刚收到以下错误:
在处理来自用户的查询时,防止 ParseExceptions 的最佳方法是什么?在我看来,最有用的搜索界面是始终执行查询的界面,即使它可能是错误的查询。
似乎有一些可能的互补策略:
- 在将查询发送到 QueryProcessor 之前“清理”查询
- 优雅地处理异常
- 向用户显示智能错误消息
- 也许执行一个更简单的查询,留下错误的位
对于如何执行这些策略,我真的没有什么好主意。有没有其他人解决过这个问题?有没有我不知道的“简单”或“优雅”解析器?
c# - 在 Lucene 中索引多个表
我想使用 lucene.net 来索引我们数据库中的记录。记录存储在几个不同的表中,并通过记录表绑定在一起。单独索引每个表并在代码中将搜索结果捆绑在一起会更好,还是应该将来自数据库的记录捆绑在一起并将它们全部放在一个索引中?
任何其他建议也会有所帮助。
asp.net - Lucene.NET --> 拒绝访问段
我对 Lucene.NET 有疑问。在索引期间,我收到错误“拒绝访问路径段”。或者有时“拒绝访问可删除的路径”。我最终给了“所有人”对索引目录的完全安全权限,但问题仍然存在。
然后我发现在索引运行期间,lucene将segments文件重命名为'segments.new',然后发生了这个错误。我猜有些进程在重命名后仍然试图从旧的段文件中读取?我不知道为什么会发生这种情况,或者如何解决这个问题。奇怪的是,我的合作开发者可以毫无问题地在他们的计算机上运行索引。
错误发生在 Lucene.Net.Index.IndexModifier.AddDocument(Document) 中。
任何想法将不胜感激。
search - Lucene.Net 是否适合作为内容频繁变化的搜索引擎?
Lucene.Net 是否适合作为内容频繁变化的搜索引擎?
或者更具体地说,任何人都可以就 lucene.net 索引的更新速度给出主观意见。任何其他搜索频繁变化的内容的方法都会很棒。
我们正在开发一个论坛。论坛帖子将经常添加到论坛存储库中。我们认为我们需要将这些帖子快速添加到 lucene 索引中(<0.5 秒),以便可以搜索。最初在存储库中将有大约 5E6 个帖子。假设搜索引擎在非异国服务器上运行(我知道这很模糊!)。
其他关于解决搜索频繁变化的内容问题的建议表示赞赏。论坛帖子需要在可变数量的命名标签上进行搜索(标签名称和值必须匹配)。基于 SQL 的方法(基于 Toxi 模式)并没有给我们想要的性能。
search - 应该影响决定使用哪个搜索专有数据的搜索引擎之间的主要区别是什么?
搜索引擎(DtSearch、Lucene.net、Sphinx、Google 等)之间的主要区别是什么,它们应该会影响决定使用哪个来搜索专有数据?
要搜索的数据由无显示数据组成,这些数据以名称/值对的形式使用元数据进行标记。我们对各种工具的格式解析能力不感兴趣。此外,搜索结果需要是结构良好、无显示的数据,可以与来自其他(类似结构的存储库)的搜索结果进行聚合。
下面列出了一些需要告知决策的相关搜索引擎特征。欢迎进一步的建议或经验描述。
• 成本 • 易于使用 • 可以配置为仅返回特定标签 • 可以“识别”特定术语,为这些结果提供更高的搜索结果权重 • 快速 < 0.3 秒返回搜索结果或 %E6 记录/文档 • 支持带有类型的标签(find weather='sunny' 但不是personality=sunny) • 支持权重以提供相关性排名 • 按相关性排序返回结果 • 支持同义词 • 支持词干提取 • 支持停用词 • 支持拼写更正 • 适合并行化或索引构建(如果基于索引) • 快速重新索引(如果基于索引) • 快速更新索引(如果基于索引) • 合并来自多个索引的结果(如果基于索引) • 接近度检查:与找到的靠近在一起的单词提供更高的相关性
.net - 如何使用 Lucene.NET 索引和查找数字?
我已经使用Lucene.NET(2.0 版)实现了对网站的全文搜索。索引和搜索效果很好,但我有一个问题。如果我查找数字(电话号码、产品编号等)作为搜索词,我不会得到任何结果文档。
我正在使用 Lucene.Net.Analysis.SimpleAnalyzer 类。我想我必须更改 Analyzer 和/或 Tokenizer。
有什么建议吗?
谢谢!
lucene - 在 Lucene.net 中使用日期范围
我了解 Lucene.net 如何用于文本索引。我能否根据给定的日期范围有效地搜索文档?或者 Lucene.net 会只使用文本匹配来匹配日期吗?
lucene.net - 如何负载平衡 Lucene.Net?
是否可以跨多个进程/服务器对 Lucene.NET 索引进行负载平衡?
由于 Lucene.NET 是基于文件的,是否可以将索引的简单文件复制(使用即 robocopy)复制到服务查询的服务器?