schema.xml片段:
<field name="id" type="string" indexed="true" stored="true" required="true" /> <field name="notes" type="text_general" indexed="true" stored="true"/> <field name="missionFocus" type="text_general" indexed="true" stored="true"/> <field name="name" type="text_general" indexed="true" stored="true"/> <field name="first_name" type="text_general" indexed="true" stored="true"/> <field name="last_name" type="text_general" indexed="true" stored="true"/> <field name="about_me" type="text_general" indexed="true" stored="true"/> <field name="message" type="text_general" indexed="true" stored="true"/> <field name="title" type="text_general" indexed="true" stored="true"/> <field name="table_type" type="string" indexed="true" stored="true"/> <field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>
现在我想搜索所有字段(除了“id”和“table_type”),例如. “你好”.我该怎么办?我真的要写下面的内容吗?
/solr/select/?q=notes:hello missionFocus:hello name:hello first_name:hello ..
我听到有关DisMaxRequestHandler的一些信息,但是如何使用这个处理程序来查询?我需要在solrconfig.xml中更改某些内容吗?
最好的解决方案是建立一个字段,收集这样的所有字段的数据
<field name="collector" type="text_general" indexed="true" stored="false" multiValued="true" />
你现在唯一需要做的是将所有字段的内容复制到该字段中:
<copyField source="notes" dest="collector"/> <copyField source="missionFocus" dest="collector"/> <copyField source="name" dest="collector"/> ....
请注意,必须先定义copyField块,如下所示:
<fields> .... </fields>
现在,您只能在现场收集器上进行搜索,您将在任何字段中找到任何文本.