繁体   English   中英

Solr字段不返回结果

[英]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>

您可以看到有关此主题的另一个主题和Solr文档

要构建可搜索字段,请在您的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM