0

RESTFul API を使用して、Open Search Server でファセットを使用して検索結果をフィルタリングするにはどうすればよいですか?

次の URL を使用しています (検索フィールド テンプレート、テンプレートの名前は「検索」で、/search を Apache から Tomcat にプロキシしています): http://domain.com:8080/search/services/rest/index/intranet/search/field/search

次の JSON が機能します。

$json = '
{
    "query": "OSH",
    "start": 0,
    "rows": 10,
    "lang": "ENGLISH"
}';

lang"en"に 450 個のドキュメントがあることを示すという名前のファセットがあります。だから、私はこれを試しました(レンダラー機能に基づいて):

$json = '
{
    "query": "OSH&fq=lang%3A\\"en\\"",
    "start": 0,
    "rows": 10,
    "lang": "ENGLISH"
}';

文字列内のすべての用語が解析され、代わりにクエリに追加されたことがわかります。

public 'query' => string '(+title:osh^10.0 +title:fq^10.0 +title:lang^10.0 +title:3a^10.0 +title:en^10.0) title:"osh fq lang 3a en"^10.0 (+titleExact:osh^10.0 +titleExact:fq^10.0 +titleExact:lang^10.0 +titleExact:3a^10.0 +titleExact:en^10.0) titleExact:"osh fq lang 3a en"^10.0 (+titlePhonetic:oS^10.0 +titlePhonetic:fk^10.0 +titlePhonetic:lank^10.0 +(titlePhonetic:a^10.0 titlePhonetic:i^10.0) +(titlePhonetic:en^10.0 titlePhonetic:jen^10.0)) titlePhonetic:"oS fk lank"^10.0 (+content:osh +content:fq +content:lang +content:3a +content:e'... (length=1669)

私は Open Search Server を使用しています1.53

4

1 に答える 1