作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
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
block 必须定义为BELOW:
<fields>
....
</fields>
现在您只能在字段 collector
上搜索,您将在您的任何字段中找到任何文本。
关于xml - Solr - 查询全域最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12833592/
我是一名优秀的程序员,十分优秀!