フィールドに対して頻度統計を行うには?

トピック作成者:ks-solruserml-bot (2024/10/07 17:14 投稿)
3
OpenOpen

(The bot translated the original post https://lists.apache.org/thread/96gmnx8503zfcdynnx1lsh94vtngxqlb into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

こんにちは Solr チーム、

目的:クエリ結果から発明者の名前の頻度を計算すること
使用バージョン:SOLR 8.11.3

inv というフィールドを持っています(発明者を表し、例:「Jean Dupond」、「Paul Durand」など)。このフィールドは複数値を持つことができます。

いくつかテストを行った結果、フィールドタイプを自由に設定できることが分かりましたが、stringngram_texttext_general を試してもうまくいきませんでした。

以下のようなドキュメントをインデックスに登録しています:

<add>
  <doc>
    <field name="id">0001</field>
    <field name="code">A</field>
    <field name="inv">Paul Durand</field>
    <field name="inv">Pierre Richard</field>
  </doc>
  <doc>
    <field name="id">0002</field>
    <field name="code">A</field>
    <field name="inv">Paul Durand</field>
    <field name="inv">André Agassi</field>
  </doc>
  <doc>
    <field name="id">0003</field>
    <field name="code">B</field>
    <field name="inv">Eric Cantona</field>
    <field name="inv">André Agassi</field>
  </doc>
</add>

ここで、クエリ結果に基づいて発明者ごとの頻度を計算したいと考えています。
例えば、クエリ q:code=A の場合、期待する統計は以下のようなものです:

  • Paul Durand: 2
  • Pierre Richard: 1
  • André Agassi: 1

これをSolr内部で直接行うことは可能でしょうか?

stats コンポーネントを string フィールドタイプで試してみましたが、結果が期待通りではなく、パラメータが正しくない可能性があります。

何か助言をいただけると助かります!
Bruno Mannina

返信投稿者:ks-solruserml-bot (2024/10/07 17:14 投稿)

facet.field=inv

Jan Høydahl

返信投稿者:ks-solruserml-bot (2024/10/07 17:15 投稿)

あなたが探しているのは「ファセット(Faceting)」という概念です。

Solrにはファセットのための2つのAPIがあります:

-Hoss
http://www.lucidworks.com/

返信投稿者:ks-solruserml-bot (2024/10/07 17:15 投稿)

こんにちは、Jan
完璧です!まさに私が探していたものです!!!
本当にありがとうございました!

Bruno Mannina

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?