停止SOLR多次索引同一单词(或如何提升一个字段)
因此,我正在运行一个俚语词典类型的网站,之前一直在使用类似mysql的网站搜索。效果不错。不管怎样,现在我正在更新这个网站,并且正在考虑使用django haystack和SOLR(似乎是最好的搜索选项之一?) 我让它运行了,但是搜索结果不太好。例如,搜索单词“LOL”将给出“Flood”作为第一个结果,因为它还有一个使用“LOL-LOL-LOL-LOL-LOL-LOL-LOL”进行泛洪的示例,而不是首先显示单词LOL 那么,是否只可能标记来自Flood示例的一个LOL(我是SOLR新手,所以我的想法可能是错误的)。或者我可以提高单词标题的价值(因此搜索词与标题匹配的单词排在第一位,搜索词与示例匹配的单词排在第二位)?我已经尝试过django haystack field boost,但它似乎一点作用都没有 提前谢谢 编辑:以下是SOLR方案(有点大,主要由Django Haystack自动生成):停止SOLR多次索引同一单词(或如何提升一个字段),solr,django-haystack,Solr,Django Haystack,因此,我正在运行一个俚语词典类型的网站,之前一直在使用类似mysql的网站搜索。效果不错。不管怎样,现在我正在更新这个网站,并且正在考虑使用django haystack和SOLR(似乎是最好的搜索选项之一?) 我让它运行了,但是搜索结果不太好。例如,搜索单词“LOL”将给出“Flood”作为第一个结果,因为它还有一个使用“LOL-LOL-LOL-LOL-LOL-LOL-LOL”进行泛洪的示例,而不是首先显示单词LOL 那么,是否只可能标记来自Flood示例的一个LOL(我是SOLR新手,所以我
身份证件
文本
你上次的评论为我澄清了这一点。你需要看的是,在你的情况下,在特殊情况下,你的领域会得到提升
为了在字段上使用该查询时间提升,您需要使用Solr的Demax处理程序或其扩展名eDiscoveryMax处理程序。您可以通过它的“搜索哪些字段以及每个字段的提升如何”来告诉处理程序
e、 g
- 如果文档与word中的命中率匹配,则将该分数增加10
- 如果文档与标题匹配,则增加该分数5
- 如果文档与示例中的命中匹配,则将该分数增加0.5,这相当于减少
埃迪斯马克斯
*:*
word ^10.0标题^5.0 exmaple ^0.5
*,得分
100%
进一步阅读
qf="word^10.0 title^5.0 exmaple^0.5"