问题标签 [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 投票
1 回答
1762 浏览

lucene - 跨 2 个应用服务器同步 Lucene 索引

我有一个托管在 Web 服务器(IIS 7)上的 asp.net Web 应用程序。它使用 Lucene 进行搜索功能。Lucene 搜索请求由位于 2 个应用程序服务器 (IIS 7) 上的 .Net WCF 服务提供服务。这两个应用程序服务器使用“netscaler”进行负载平衡。

这两个服务器都托管一个 .net windows 服务,该服务每天晚上更新各自服务器上的搜索索引。

我需要在这两个服务器上同步搜索索引,以便在任何时候这两个服务器都有最新的索引。考虑到两个应用程序服务器中的任何一个都可以根据其可用性来服务搜索请求,我在想什么可能是最好的架构/设计策略。

请问有什么输入吗?

谢谢阅读!

0 投票
1 回答
1214 浏览

lucene.net - 如何在 nhibernate.search 查询中使字段名称大小写

我想让我的查询案例中的字段名称具有吸引力,以便在用户进行查询时

或者

NHibernate Search 将产生相同的结果。

据我了解,Lucene 的工作方式字段名称区分大小写。有没有办法将 NH Search/Lucene 配置为在索引时将字段名称小写,在搜索时将字段名称小写?

0 投票
3 回答
2095 浏览

lucene - 使用 Lucene 提高基于位置的搜索的性能

我将 Lucene 用于使用 .net 的求职门户。在以下用例中,我面临一些与性能相关的问题。用例是:在进行求职时,用户可以选择工作地点(例如:亚特兰大,乔治亚州)并选择径向距离(例如 50 英里)。从 Lucene 返回求职结果所需的时间相当长。

仅供参考,我们正在维护一个 sql server 2005 数据库,我们在其中存储美国和加拿大的城市、州、经度和纬度。(总共包含大约 100 万条记录)。

无论如何我可以提高这个基于位置的求职的表现吗?

0 投票
2 回答
1242 浏览

lucene - 如何知道 Lucene Index 生成过程何时完成

我有一个 .net windows 服务,它每晚都会生成 Lucene 搜索索引。我首先从数据库中获取所有记录并使用 IndexWriter 的 AddDocument 方法将其添加到 Lucene 索引中,然后在从该方法返回之前调用 Optimize 方法。由于提取的记录非常大,索引编制大约需要 2-3 分钟才能完成。如您所知,Lucene 在生成索引时会生成中间段文件,并在调用 Optimize 时将整个索引压缩为 3 个文件。

无论如何我可以知道这个索引生成过程是由 Lucene 完成的,并且索引可用于搜索吗?我需要知道这一点,因为我想在流程完成时调用另一个方法。

0 投票
4 回答
5235 浏览

indexing - 如何:提高 Lucene .net 索引速度

我正在尝试创建大约 200 万条记录的 lucene。索引时间约为 9 小时。您能否建议如何提高性能?

0 投票
3 回答
1719 浏览

lucene - 使用 Lucene 进行基于位置的搜索的 SpatialQuery

我的 lucene 索引的纬度和经度字段索引如下:

我想从此索引中检索一组文档,其 lat 和 long 值在给定范围内。

如您所知,Lat 和 long 可能是负值。如何在 Lucene 中正确存储带符号的十进制数?下面提到的方法会给出正确的结果还是有其他方法可以做到这一点?

另外,我想知道 Lucene 的 ConstantScoreRangeQuery 如何比 RangeQuery 类好。

在这种情况下我面临另一个问题:我在索引中的一个文件包含以下 3 个城市:

  • 伊利诺伊州里昂

    伊利诺伊州奥克布鲁克

    加利福尼亚州旧金山

如果我输入“Lyons, IL”,那么这个记录就会出现。但是,如果我将加利福尼亚州旧金山作为输入,那么它不会。

但是,如果我按如下方式存储此文档的城市:

  • 加利福尼亚州旧金山

    伊利诺伊州里昂

    伊利诺伊州奥克布鲁克

    当我将 San Francisco, CA 作为输入时,此记录会显示在搜索结果中。

我在这里想要的是,如果我在输入中输入 3 个城市中的任何一个,我应该在搜索结果中得到这个文档。

请帮助我实现这一目标。

谢谢。

0 投票
1 回答
726 浏览

lucene - Lucene 中的 ConstantScoreRangeQuery

Lucene 的ConstantScoreRangeQuery如何比旧的RangeQuery更好?

在什么情况下你应该使用仍然使用 RangeQuery?

0 投票
2 回答
2465 浏览

lucene - 在 Lucene 中正确索引纬度和经度值

正在使用 Lucene API 开发“给定半径内基于​​美国的最近城市搜索”功能。我在 Lucene 中索引城市的纬度和经度值,如下所示:

由于 Lucene 只理解字符串而不理解数字,因此填充 lat 和 long 值。

例如,如果原始 lat 和 long 分别为 41.811846 和 -87.820628,则在填充后,值如下所示:

paddedLatitude -->"0041.811846" 和 paddedLongitude-->"-087.820628"

在构建最近的城市查询时(使用 Lucene 的 ConstantScoreRangeQuery 类),我正在做同样的填充。

鉴于 lat 和 long 值可能是十进制/负数,这是对它们进行索引的正确方法,以便当 lucene 对这些值执行数字范围/比较操作时,我可以在搜索结果中获得正确的最近城市?

谢谢。

0 投票
4 回答
8706 浏览

c# - ASP.NET 网站的良好 Lucene .NET 替代品

在 ASP.NET 网站中使用Lucene .NET有什么好的替代方案吗?

我想为 XML、TXT、PDF 和 DOC 文件编制索引。

谢谢!

0 投票
2 回答
9310 浏览

c# - 如何使用 Lucene.net 实现自定义过滤器?

下面的代码来自 Lucene In Action 这本书(最初用 Java 编写)。它用于构建“允许”文档列表(从用户许可的角度来看)以过滤搜索结果。问题是 termsDocs.Read() 方法不接受通过引用传递的 'doc' 和 'freq' 数组,因此在设置位数组中的位时它们仍然是空的。

任何人都可以提供帮助,使用 Lucene 自定义过滤器(尤其是在 .net 中)的示例似乎很薄弱。谢谢。

我正在使用 Lucene.net 2.0.0.4,但 TermDocs 界面在此处的最新分支中似乎仍然相同:https ://svn.apache.org/repos/asf/incubator/lucene.net/trunk/C %23/src/Lucene.Net/Index/TermDocs.cs