検索API使用時の言語設定について

検索APIの検索結果数とUIからの検索結果数が異なる結果となったので、確認です。
過去のやり取りに言語指定によって差が出るとの事でしたので、試してみました。

以下が、言語指定による検索結果数です。
UI検索
・言語未指定:2000件
・lang=all:2000件
・lang=ja:1998件
・lang=en:1980件
・lang=ja&lang=en:2000件
API検索
・言語未指定:1998件
・lang=all:1978件
・lang=ja:1998件
・lang=en:1980件
・lang=ja&lang=en:2000件

API検索で未指定の場合、内部的にja指定時と同等の様でした。
また、ja, en を指定した結果は一致しますが、allの結果が異なります。

API検索でallを指定した際に検索数が異なるのはなぜでしょうか。

環境情報は以下になります。
・Windows10でzip版を使用
・fess-14.18.0
・opensearch-2.18.0

確認お願いします。

fess.logをデバッグレベルで出力すれば、OpenSearchに投げているクエリーを確認できるので、それで比較すれば違いを確認することができます。

デバッグログでクエリーを確認したところ、以下の様になっている事が確認出来ました。

UI検索
・言語未指定:ja, en が指定されていた
・lang=all:ja, en が指定されていた
・lang=ja:ja が指定されていた
・lang=en:en が指定されていた
API検索
・言語未指定:ja が指定されていた
・lang=all:言語指定に関する物は未指定だった
・lang=ja:ja が指定されていた
・lang=en:en が指定されていた

つまり、API検索で lang=all を指定しても実質無意味である事が分かりました。
この挙動が仕様なのか、不具合なのかは分かりませんが、言語指定を明示的に行う必要があるという事で理解しました。

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.