FlexibleSearchQuery
を使用してデータを取得しようとしていますが、空の結果に応答しています。このクエリを設定した場合、私は探しているデータを得ることができます。hac>Console>Flexible Search
ここで私はどのようにjavaファイルでクエリを書いています。ここでFlexibleSearchQueryレスポンスデータなし
sb.append(" SELECT {p:pk} ");
sb.append(" FROM {" + ProductModel._TYPECODE + " AS p} ");
sb.append(" WHERE {p:" + ProductModel.PK + " } IN ({{");
sb.append(" SELECT DISTINCT {pro:" + ProductModel.PK + "} ");
sb.append(" FROM {CategoryProductRelation AS cp},{" + ProductModel._TYPECODE + "! AS pro},{" + CategoryModel._TYPECODE
+ " AS c}");
sb.append(" WHERE {pro:" + ProductModel.PK + " } = {cp:target}");
sb.append(" AND {c:" + CategoryModel.PK + " } = {cp:source}");
sb.append(" AND {c:" + CategoryModel.CODE + " } !=?categoryCode }})");
args.put("categoryCode", categoryCode);
if (args != null && !args.isEmpty())
{
searchQuery.addQueryParameters(args);
}
は
SELECT {p:pk} FROM { Product AS p} WHERE { p: pk } IN ({{
SELECT DISTINCT {pro: PK }
FROM
{CategoryProductRelation AS cp},
{Product AS pro},
{Category as c}
WHERE {pro: PK} = {cp:target}
AND {c:PK} = {cp:source}
AND {c:code} != '0101'}})
は、私は私が間違っているのは何
PK
8796093579265
8796101804033
8796100165633
8796098428929
8796093153281
8796102361089
8796097052673
8796093808641
8796093972481
8796096823297
を取得し、私はそれがコンソールに入力した場合、私は
final FlexibleSearchQuery searchQuery = new FlexibleSearchQuery(sb.toString());
searchResult.getResult().size() >> retuns 0
検索を呼び出す方法ですか? コンソールクエリと文字列クエリに違いはありますか?