0

正常に機能するSOLRクエリについては以下で説明します。

クエリ: "COMPLEX CONDITION 1"またはクエリ: "COMPLEX CONDITION 2"

結果として4つのドキュメントを取得します。条件1から2つ、条件2から2つです。ドキュメントがどの条件に属しているかを知る必要があります。条件が複雑すぎて結果からはわかりません。私がやりたいのは、出力の「ステータス」フィールドの値を変更することです。たとえば、condition1の場合はstatus = Active、condition2の場合はstatus=Expiredとします。

ステータスは私が使用する条件に基づいて決定されるため、ステータスの現在の値は正確ではありません。

SOLRのフィールドの出力値を上書きする方法はありますか?

4

1 に答える 1

0

強調表示を使用して、どのドキュメントがどの条件に一致したかを判断しようとしましたか? 強調表示 ( ) をオンにする&hl=on&hl.fl=<fields_you're_trying_to_match>と、Solr は結果構造の最後に (結果を JSON で返すか XML で返すかに関係なく) 「強調表示」と呼ばれる構造を返します。この構造には、一致する要素を持つインデックス (存在する場合) の一意のキーに従って名前が付けられた構造が含まれます。

<lst name="highlighting">
    <lst name="1">
        <arr name="title">
            <str>Bob <em>Jones</em></str>
        </arr>
        <arr name="category">
            <str><em>Jones</em> Family</str>
        </arr>
        <arr name="description">
            <str>This is a book about Bob <em>Jones</em>, the patriarch of the <em>Jones</em> Family.</str>
        </arr>
    <lst>
<lst>

詳細はこちら: Solr でクエリに一致した列を返す方法..?

これがあなたの質問の後半部分に答えていないことをお詫びしますが、最初の部分についてはいくつかの助けになります.

于 2012-08-28T03:19:14.737 に答える