小编rob*_*tts的帖子

如何在Solr中进行常量分数查询

我正在使用SolrNet访问Solr索引,其中我有一个名为"tags"的多值字段.我想执行以下伪代码查询:

(tags:stack)^ 10 OR(tags:over)^ 5 OR(tags:flow)^ 2

术语"堆叠"被提升10,"超过"被提升5,"流"被提升2.我所追求的结果是"叠加"的结果将显得高于"叠加"的结果流动"等

我遇到的问题是说"流"只出现在几个文档中,但是"堆栈"出现在加载中,然后由于高的idf值,带有"flow"的文档出现在带有"stack"的文档之上.

当这个项目在Lucene中直接实现时,我使用了ConstantScoreQuery,这些仅仅根据提升值消除了基于idf的idf.

如何通过Solr和SolrNet实现这一点,我有效地将Solr传递给查询字符串?如果不能,有没有其他方法可以解决这个问题?

提前致谢!

lucene solr solrnet solr-boost

2
推荐指数
1
解决办法
2878
查看次数

Solr搜索结果并检索文档的位置

我有一个使用SolrNet访问的solr索引,我想在结果中检索特定文档的索引(位置),而不返回整个结果集.

更详细...查询返回~30,000个文档,并按整数字段排序.唯一键字段包含一个Guid,我想根据唯一键找到特定文档的结果,同时只返回前10个结果.

该指数在普通的旧Lucene的最初实现的,而这个任务有两个查询实现,一个让我想了解一下,再进行第二次返回的整个结果集文档的Lucene的文件编号.然后,我可以使用doc id查找文档在完整结果集中的显示位置,但之后只枚举前10个文档.

有没有办法实现我在Solr之后所做的事情,而没有返回所有30000个结果(甚至限制到Guid只是看起来太慢了)?

谢谢

solr solrnet

2
推荐指数
1
解决办法
1841
查看次数

标签 统计

solr ×2

solrnet ×2

lucene ×1

solr-boost ×1