[英]Solr Field does not return results
Solr不会返回结果,直到我给:field名称加上前缀,例如,我正在搜索Ajay,我需要给name:Ajay加上前缀才能得到结果。我尝试了copy标记。但是它似乎没有返回结果。您请告诉我,除了以下更改之外,我还能更改什么。
<copyField source="name" dest="text"/>
<copyField source="last_name" dest="text"/>
配置此文件的旧方法是使用schema.xml中的<defaultSearchField>
。 如果查询中没有其他字段,则表示默认搜索的字段。
您可能要在查询中使用df
参数(或如其他答案所述,将其添加为默认值),或者如果您正在使用(e)dismax处理程序(可能是),请使用qf
参数以指示要查询的字段以及不同字段之间的权重。
q=Ajay&qf=text&defType=edismax
..应该做你想做的。
如果查看solrconfig.xml
文件,您将看到/ select requestHandler
配置有默认搜索字段,如下所示:
<lst name="defaults">
<str name="df">aField</str>
</lst>
在这里,您可以输入所需的字段,例如:
<lst name="defaults">
<str name="df">name</str>
</lst>
要构建可搜索字段,请在您的schema.xml
中创建一个新字段:
<field name="searchable_field" type="text_general" indexed="true" stored="true" multiValued="true" />
之后,您可以在新字段中复制所需的字段:
<copyField source="name" dest="searchable_field"/>
<copyField source="last_name" dest="searchable_field"/>
<copyField source="birthday" dest="searchable_field"/>
<copyField source="location" dest="searchable_field"/>
最后,只需要将这个新字段放入solrconfig.xml
:
<lst name="defaults">
<str name="df">searchable_field</str>
</lst>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.