用户搜索输入的最佳Lucene查询 - c#

我有1,000,000条记录的新闻存储库。我使用lucene库进行全文搜索,搜索我的新闻报道(标题,正文,新闻日期等)。我需要找到最佳查询,以便从用户输入中找到最相关的结果,我应该使用哪种策略或算法用于实现此目的

现在我使用这样的东西(标题^ 3.0身体^ 2.0),但我认为这很简单,我正在寻找更复杂的算法来获得更多相关的结果。

如果您能帮助我找到我的朋友,我将不胜感激!

参考方案

提高搜索的相关性需要时间和迭代的完善。

LucidImagination团队的写作很好(尽管非常基于solr):
http://www.lucidimagination.com/Community/Hear-from-the-Experts/Articles/Search-Application-Relevance-Issues

您可能需要分析日志,并将每个文档的综合浏览量添加到索引中,以便将其按排序顺序考虑在内。

只要捕获到幅度变化,这些数字就不必真正准确。

您还应该分析日志中的拼写错误。头脑清醒的人也有一些关于将它们编入索引的播客或博客。

从JAVA调用方法C#.NET - java

我有一个C#.NET项目中创建的dll,我想从Java程序中调用方法。我想知道是否存在实现此目标的机会,然后遇到了JNA和JNI。我应该使用哪一个?有什么建议么?我只需要在使用C#.NET编写的类中调用方法并处理Java程序的结果即可。 参考方案 这取决于您的应用程序,但是您可以将C#DLL放在服务中,例如WCF并以这种方式将功能公开给Java代码。使用ws…

java.net.URI.create异常 - java

java.net.URI.create("http://adserver.adtech.de/adlink|3.0") 抛出java.net.URISyntaxException: Illegal character in path at index 32: http://adserver.adtech.de/adlink|3.0 虽然n…

java.net.UnknownHostException无法连接到ftp - java

我的ftp端口为:ftp://173.201.0.1/我正在尝试通过以下方式将其连接:String Ftp_Path = "ftp://173.201.0.1/"; public List<String> GetFileList() { String ftpServerIP = Ftp_Path; String ftpUser…

为什么与完全指定通配符相比,lucene单字符通配符查询查找的文档更少? - java

我有一个索引,在分析器的默认字段中包含值abc和def,它们属于两个不同的文档。当我执行查询abc OR def时,我得到了索引中两个文档的命中率。但是,当我使用abc OR d?f时,只会获得包含abc的文档的匹配。当我用d?f查询索引时,会找到包含def的文档。查看abc OR d?f的已解析查询时,我看到了正确的结果。这意味着将解析以BooleanQu…

Lucene-将多字段查询与布尔查询结合 - c#

我在2个字段上使用MultiFieldQueryParser在Lucene索引上进行免费文本搜索,效果很好。以下是我如何构建搜索查询:var searchParser = new MultiFieldQueryParser(_currentLuceneVersion, new[] { _titleField, _bodyField }, _standardA…