7

solr でネストされたフィールドを作成する可能性について質問があります。Google 検索でグループについて何か教えてもらいましたが、それは結果だけだと思いますか?

私が持ちたいのは、そのような構造です:

  • カテゴリー1
    • アイテム 1 (9)
    • 項目 2 (8)
  • カテゴリー2
    • 項目 3 (6)
  • カテゴリー3
    • アイテム 4 (23)

私はこのようなことを試しました:

<field name="Category" type="string" indexed="true" stored="true" multiValued="true" required="false">
<field name="MiscellaneousName" type="string" indexed="true" stored="true" multiValued="true" required="false"/>

しかし、うまくいきません。

更新: カテゴリとアイテムをファセットする必要があります。すべてのアイテム (=facet) はカテゴリの一部です。1 つのカテゴリに複数のフィールドまたは null フィールドを含めることができます。カテゴリとアイテムはデータベースに保存されているため、動的にインデックスを作成したいと考えています。項目のみを検索したいのですが、カテゴリはテキストのみです。Tomcat 7でsolr 3.3を使用しています。

4

3 に答える 3

6

更新していただきありがとうございます。ピボット ファセットを使用すると、次のようなことができます。

  • カテゴリー1 (17)
    • アイテム 1 (9)
    • 項目 2 (8)
  • カテゴリー2 (6)
    • 項目 3 (6)
  • カテゴリー3 (23)
    • アイテム 4 (23)

.. ただし、Solr 4.0 (トランク) でのみ使用できます。ただし、これらの結果をより低い Solr (1.4 まで) でシミュレートすることはできますが、これは少し複雑で、1 つではなく 2 つの Solr クエリが必要です。これについてブログ記事を書きました - Pivot Faceting (Decision Trees) in Solr 1.4

元の質問にあるスキーマを保持できます。ピボット ファセット (実際またはシミュレート) は、任意の異なる (または同じ) フィールドで機能します。

于 2011-10-10T15:32:17.800 に答える
1

ピボット ファセットは、階層ファセットを定義するために必要なものです。
ただし、トランク ビルドを使用して機能させる必要があります。

アップグレードに問題がある場合は、オプション @ http://www.lucidimagination.com/why-lucid/webinars/mastering-power-faceted-searchを確認できます。

これは回避策であり、フィードするデータを操作する必要があります。

Cattegory1 -> item 1  
0//Cattegory1 and 1//Cattegory1//item1

-
fq=category:"0//Category1"
facet.prefix を使用して結果をフィルター処理すると、結果を制限する必要がある場合に、レベルに応じてファセットを制限するのに役立ちます

http://wiki.apache.org/solr/HierarchicalFacetingも役に立つかもしれません。

于 2011-10-10T14:10:48.913 に答える
0

カテゴリをアイテムのフィールドだけにして、たとえばカテゴリ1を検索すると、アイテム1と2が結果に戻るようにできますか?

絶対にエンティティの一部である必要があり、相互に関連付ける必要がある2つのフィールドがある場合は、ポリフィールドが役立つ場合があります。これらは、x値とy値を持つポイントなどのために設計されました。

Solrでそれを処理するための良い方法を提案するために、あなたが何をしようとしているのかをもっと知る必要があると思います。

于 2011-10-10T14:51:45.627 に答える