Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据solr中的多个字段搜索多个值?_Solr_Solrj_Solr Schema - Fatal编程技术网

如何根据solr中的多个字段搜索多个值?

如何根据solr中的多个字段搜索多个值?,solr,solrj,solr-schema,Solr,Solrj,Solr Schema,如何根据solr中的多个字段搜索多个值 我的设想: 目前在schema.xml中,我正在使用和 <copyField source="COL1" dest="defaultsearch"/> <copyField source="COL2" dest="defaultsearch"/> 及 及 defaultsearch 例如: 我的搜索查询类似于q=Good Boy 我必须获取像Good和Boy这样的记录,它们应该出现在COL1或COL2中 但对我来说,它给

如何根据solr中的多个字段搜索多个值

我的设想:

目前在schema.xml中,我正在使用

<copyField source="COL1" dest="defaultsearch"/>
<copyField source="COL2" dest="defaultsearch"/>


defaultsearch
例如:

我的搜索查询类似于q=Good Boy

我必须获取像GoodBoy这样的记录,它们应该出现在COL1或COL2中

但对我来说,它给出了与预期相同的结果,如在COL1中出现的良好和在COL2中出现的男孩或在COL2中出现的良好和在COL1中出现的男孩


请建议我如何找到GoodBoy应在COL1或COL2中出现的结果。

如果您需要COL1和COL2的精确匹配,则可以执行以下操作(假设COL1和COL2是字符串):-

如果您不需要精确匹配,并且短语应以任何顺序包含“Good”和“Boy”,请尝试以下方法(未经测试):-


谢谢你的回复。我不明白你的意思。请举例说明。请提供您当前的查询,并告诉我们它的功能以及您认为它应该做什么!?很抱歉内容更新为附加信息。感谢您的回答。对于q=(COL1:*好孩子*或COL2:好孩子),它不会给出预期的结果。因此,我所做的是q=((COL1:*好*和COL1:*男孩*)或(COL2:*好*和COL2:*男孩*)
<fieldType name="text_search" class="solr.TextField" positionIncrementGap="100">
 <analyzer>
   <tokenizer class="solr.WhitespaceTokenizerFactory" />
   <filter class="solr.LowerCaseFilterFactory" />      
 </analyzer>
</fieldType>
<defaultSearchField>defaultsearch</defaultSearchField>
q=(COL1:"Good Boy" OR COL2:"Good Boy")
q=(COL1:*Good Boy* OR COL2: *Good Boy*)