Solr 字段没有 return 结果
Solr Field does not return results
Solr 不会 return 结果,直到我在 :field 名称前加上前缀,例如
我正在搜索 Ajay,我需要前缀 name:Ajay 才能获得 results.I 尝试了副本 tag.But 它似乎没有 return results.Can 你请告诉除了下面的改变,我还能改变什么。
<copyField source="name" dest="text"/>
<copyField source="last_name" dest="text"/>
如果您查看 solrconfig.xml
文件,您会看到 /select requestHandler
配置了默认搜索字段如:
<lst name="defaults">
<str name="df">aField</str>
</lst>
在这里,您可以输入您想要的字段,例如:
<lst name="defaults">
<str name="df">name</str>
</lst>
您可以查看另一个关于 this subject and the Solr Documentation 的主题。
要构建可搜索字段,在您的 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>
旧的配置方式是 schema.xml 中的 <defaultSearchField>
。如果查询中没有包含其他字段,则表示默认搜索的字段。
您可能想在查询中使用 df
参数(或者如其他答案所述,将其添加为默认值),或者如果您使用的是 (e)dismax 处理程序 (你可能是),使用 qf
参数来指示要查询的字段以及不同字段之间的权重。
q=Ajay&qf=text&defType=edismax
..应该做你想做的事。
Solr 不会 return 结果,直到我在 :field 名称前加上前缀,例如 我正在搜索 Ajay,我需要前缀 name:Ajay 才能获得 results.I 尝试了副本 tag.But 它似乎没有 return results.Can 你请告诉除了下面的改变,我还能改变什么。
<copyField source="name" dest="text"/>
<copyField source="last_name" dest="text"/>
如果您查看 solrconfig.xml
文件,您会看到 /select requestHandler
配置了默认搜索字段如:
<lst name="defaults">
<str name="df">aField</str>
</lst>
在这里,您可以输入您想要的字段,例如:
<lst name="defaults">
<str name="df">name</str>
</lst>
您可以查看另一个关于 this subject and the Solr Documentation 的主题。
要构建可搜索字段,在您的 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>
旧的配置方式是 schema.xml 中的 <defaultSearchField>
。如果查询中没有包含其他字段,则表示默认搜索的字段。
您可能想在查询中使用 df
参数(或者如其他答案所述,将其添加为默认值),或者如果您使用的是 (e)dismax 处理程序 (你可能是),使用 qf
参数来指示要查询的字段以及不同字段之间的权重。
q=Ajay&qf=text&defType=edismax
..应该做你想做的事。