Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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中的多值字段中搜索包含2个或多个条目的文档?_Solr_Lucene_Multivalue - Fatal编程技术网

如何在Solr中的多值字段中搜索包含2个或多个条目的文档?

如何在Solr中的多值字段中搜索包含2个或多个条目的文档?,solr,lucene,multivalue,Solr,Lucene,Multivalue,我有一个允许多值字段的模式,如何构造只返回该字段中有2个或更多条目的文档的搜索?例如,在此数据子集中: <doc> <str name="id">A</str> <arr name="multivaluedField"> <str>One</str> <str>Two</str> </arr></doc> <doc> <str name="id"&g

我有一个允许多值字段的模式,如何构造只返回该字段中有2个或更多条目的文档的搜索?例如,在此数据子集中:

<doc>
<str name="id">A</str>
<arr name="multivaluedField">
  <str>One</str>
  <str>Two</str>
</arr></doc>

<doc>
<str name="id">B</str>
<arr name="multivaluedField">
  <str>One</str>
</arr></doc>

<doc>
<str name="id">C</str>
<arr name="multivaluedField">
  <str>Three</str>
  <str>Four</str>
</arr></doc>

A.
一个
两个
B
一个
C
三
四
搜索只会返回文档A和C,因为它们在
多值字段中有两个条目
,即使它们是不同的条目

最简单(也是最有效)的方法是对包含值计数和现有值的整数值进行索引,这样就有了一个
多值计数
字段。该字段可以编制索引,您可以进行有效的范围查询和精确的值查找

如果需要,您可以直接在索引代码中或在更新处理器中执行此操作。

最简单(也是最有效)的方法是对包含值计数和现有值的整数值进行索引,因此您有一个
多值计数
字段。该字段可以编制索引,您可以进行有效的范围查询和精确的值查找


如果需要,您可以直接在索引代码中或在更新处理器中执行此操作。

我想我会使用此解决方案,不确定为什么我以前没有考虑过它,谢谢我想我会使用此解决方案,不确定为什么我以前没有考虑过它,谢谢