2014-11-08 124 views
0

假设我试图在任何字段中搜索“Douglas”。如果我只是做:Solr字段:针或q =针&qf =字段不同的结果

solr/query?q=Douglas 

我得到0的反应,但如果我这样做:

solr/query?q=firstname:Douglas 

然后我得到的反应,这是为什么?我也试过:

solr/query?q=Douglas&qf=firstname 

这仍然没有给我什么。我如何只搜索所有字段?那么我如何'提升'某些领域的相关性呢?例如,如果我搜索道格拉斯,那么称道格拉斯的人应该在他们的描述中出现带有“道格拉斯”一词的项目之前。

回答

0

你在这里混淆了两个概念。

缺省搜索针对一个字段。这是由df(默认字段)参数(不是qf)定义的字段。那么,solr /查询?q =道格拉斯& df =名字应该工作。 Solr示例通常会将文本字段设置为默认值,并将copyField指令复制到其他字段中。这可行,但不允许在不同的领域使用不​​同的分析仪。它也不允许根据找到的字段内容进行排序。

如果要搜索具有不同权重的多个字段,则需要切换到dismax或​​。然后,您确实使用qf参数来显示要搜索的字段。

您可以在Solr管理界面中尝试所有这些功能。

0

您必须使用复制字段将您的字段复制到文本中以使其可搜索。默认情况下,想要搜索的所有字段值将复制到文本字段中。你必须增加一个副本领域为herehere

0

在查询时增加提升:

Q =(名字:道格拉斯)^ 100(体:道格拉斯)^ 50(someField:道格拉斯)^ 25

相关问题