gpt4 book ai didi

xml - Solr - 查询全域最佳实践

转载 作者:数据小太阳 更新时间:2023-10-29 01:39:43 24 4
gpt4 key购买 nike

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com