Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.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方面处理,比如RMDB中多个列上的distinct?_Solr_Field_Facet - Fatal编程技术网

是否可以结合多个字段进行Solr方面处理,比如RMDB中多个列上的distinct?

是否可以结合多个字段进行Solr方面处理,比如RMDB中多个列上的distinct?,solr,field,facet,Solr,Field,Facet,假设我想在我的文档中对两个字段的组合进行刻面处理 例如: Field1 Field2 A B C D A B A C C B C D 会有这样的结果吗 AB [2] CD [2] AC [1] CB [1] 这可能吗?我的意思是在运行中,这意味着字段是随机选取的,因此无法在索引期间创建copyfield。您可以使用Solr 4.0上提供的对两个字段进行分组 您可以对索引运行以下查询以获取它 http://l

假设我想在我的文档中对两个字段的组合进行刻面处理

例如:

Field1  Field2
A        B
C        D
A        B
A        C
C        B
C        D
会有这样的结果吗

AB [2]
CD [2]
AC [1]
CB [1]

这可能吗?我的意思是在运行中,这意味着字段是随机选取的,因此无法在索引期间创建copyfield。

您可以使用Solr 4.0上提供的对两个字段进行分组

您可以对索引运行以下查询以获取它

http://localhost:8181/solr/collection1/select?q=*:*&facet=true&facet.pivot=field1,field2
然后,结果将如下所示:

<lst name="facet_pivot">
  <arr name="field1,field2">
    <lst>
      <str name="field">field1</str>
      <str name="value">A</str>
      <int name="count">3</int>
      <arr name="pivot">
        <lst>
          <str name="field">field2</str>
          <str name="value">B</str>
          <int name="count">2</int>
        </lst>
        <lst>
          <str name="field">field2</str>
          <str name="value">C</str>
          <int name="count">1</int>
        </lst>
      </arr>
    </lst>
    <lst>
      <str name="field">field1</str>
      <str name="value">C</str>
      <int name="count">3</int>
      <arr name="pivot">
        <lst>
          <str name="field">field2</str>
          <str name="value">D</str>
          <int name="count">2</int>
        </lst>
        <lst>
          <str name="field">field2</str>
          <str name="value">B</str>
          <int name="count">1</int>
        </lst>
      </arr>
    </lst>
  </arr>
</lst>

字段1
A.
3.
字段2
B
2.
字段2
C
1.
字段1
C
3.
字段2
D
2.
字段2
B
1.

这正是我想要的。我相信我能用这个结果得到我期望的最终成绩。但问题是我当前的项目仍然使用Solr4(3.5)之前的版本。有什么方法适用于3.5吗?这里有另一种方法,但我不知道它是否能解决您的问题。至少你可以试试。