Solr:我如何使用dismax而不是使用copyField?

时间:2015-06-05 05:45:35

标签: solr dismax

我现在一直试图解决这个问题。如果我创建一个没有指令的模式:

<copyField source="*" dest="text" />

我似乎无法提起任何事情。但是当我添加该指令时,神奇地出现了。我用?defType = dismax尝试我的查询,但这似乎没有帮助。

我错过了什么吗?我的架构中是否需要特殊的东西?我正在索引我需要搜索的所有字段。

思想?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您使用defType = lucene,则需要在搜索查询之前指定字段,如下所示:

q=title:test

如果您未指定字段solr,则将使用solrconfig.xml中指定的默认字段。默认情况下,此字段为text。由于所有字段都复制到text,因此搜索效果很好。 如果您决定使用dismax,则查询结构会发生变化。您需要将搜索字词设为:

q=test

并指定要在其他参数中搜索的字段:

<str name="qf">field1 field2</str>

field1field2是您要搜索字词的字段。