0

以下のクエリの応答では、さらに多くの組織があり、それらはメイトランドのグループ値の下にグループ化されるべきではなく、メイトランド ウォーカーのように分離されるべきであることがわかっています。OrganizationName に WhiteSpace トークナイザーを使用しています。

私の質問は

http://solr.xxx.com/FacetedSearch/select/?q=OrganisationName:(mateland *)&wt=json&fl=OrganisationId,OrganisationName&group=true&group.field=OrganisationName"

そして応答は

{
responseHeader: {
        status: 0,
        QTime: 0,
        params: {
        fl: "OrganisationId,OrganisationName",
        q: "OrganisationName:(maitland*)",
        group.field: "OrganisationName",
        group: "true",
        wt: "json"
        }
},
grouped: {
        OrganisationName: {
            matches: 53,
            groups: [
            {
                groupValue: "maitland",
                doclist: {
                    numFound: 49,
                    start: 0,
                    docs: [
                    {
                        OrganisationName: "Maitland",
                        OrganisationId: 4508
                    }
                    ]
                }
            },
            {
                groupValue: "walker",
                doclist: {
                    numFound: 4,
                    start: 0,
                    docs: [
                    {
                        OrganisationName: "Maitland Walker",
                        OrganisationId: 496
                    }
                    ]
                }
            }
            ]
        }
}
}
4

1 に答える 1

2

group.fieldのドキュメントから:

通常のフィールドファセットと同様に、フィールドはトークン化されるべきではありません(そうでない場合、カウントはトークンごとに計算されます)

フィールドをトークン化するため、結果は空白の壊れたトークンに基づいています。

おそらくcopyFieldを使用し、検索とグループ化のために別々のフィールドを用意したいと思うでしょう。少なくとも、それはあなたが見た問題に対する一般的な戦略です。

于 2013-02-06T12:39:05.570 に答える