親にソートをまとめる

トピック作成者:ks-solruserml-bot (2024/06/14 22:17 投稿)
1
CloseClose

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

こんにちは、

私は親ドキュメントにソートロジックをまとめ、子レベルでフィルタを適用するクエリに取り組んでいます。作成したクエリは期待どおりに動作していません。

以下はドキュメントの構造です。

可能なドキュメント構造

親(scope:parent)
子(scope:child)
孫(scope:GrandChild)。PriceChild(scope:PriceChild)。 (両方の親はChild)
color(フィールド)Price(フィールド)

たとえば、クエリでフィルタとして使用されるcolorフィールドは、GrandChildのスコープにあります。対象の子ドキュメントの対応するPriceChildのPriceフィールドをソートに考慮する必要があります。

例:PP1
CC1、CC2
GC10、GC20、PC10、PC20
青、黒。 10、20

与えられたクエリに対してBlueの色をフィルタとして適用した場合、CC2の子であるためPrice 20を考慮しないで、PP1ドキュメントをソートするためにPrice 10を選択する必要があります。

よろしくお願いします、
Sachin

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

いくつかのアプローチが考えられます:
1) ブロック結合の階層的ドキュメントとChildrenクエリパーサーを使用する(
https://solr.apache.org/guide/8_11/other-parsers.html#block-join-children-query-parser)。
最近はマルチレベルの階層構造を試していませんが、実行可能であり、ソートをまとめるためには、スコアリングを使用して、親(またはあなたの場合は祖父母)に伝播させるスコアを計算するための関数クエリを使用できます。

2) もう1つのオプションは、データをフラット化してからフィールドの折りたたみを使用することです(https://solr.apache.org/guide/8_11/collapse-and-expand-results.html)。

よろしくお願いします。

Alessandro Benedetti
Apache Lucene/Solr コミッター
ディレクター, R&D ソフトウェアエンジニア, 検索コンサルタント

www.sease.io

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

KandaSearch

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

投稿の削除

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