私は現在solrに取り組んでおり、結合を作成するには、次のように記述する必要があります。
http://localhost:8983/solr/select?q=category_name:cat1%20_query_:"{!dismax%20qf=category_name%20v=cat2}"
ここで、cat1とcat2は、私の製品を入れたいカテゴリです。つまり、これら2つのカテゴリを持つすべての製品です。
SolrJ apiを使用してJavaで同じものを作成する方法を見つけることができるため、これを使用して正確な結果を取得しています。
私がやっていたワット
String myQuery = "";
myQuery += "category_name:";
myQuery += categoryNames.get(0);
myQuery += "%20_query_:\"{!dismax%20qf=category_name%20v=";
myQuery += categoryNames.get(1);
myQuery += "}\"";
query.setQuery(myQuery);
これはsolnを与えません、solrはエラーを与えます
今ページごとに1番目のans
SolrQuery query = new SolrQuery();
query.setQuery("category_name:" + categoryNames.get(0));
String join = "";
join += "{!dismax&qf=category_name&v=";
join += categoryNames.get(1);
join += "}";
query.setParam("_query_", join);
QueryResponse response = solr.query(query);
より良いが、それでも機能しない、それ以来私が望まない「&」を追加する
q=category_name:cat1&_query_={!dismax%26qf%3Dcategory_name%26v%3Dcat2}
3番目に、最新の回答で提案されたwatページを試しましたが、惨めに失敗しました。これは、watがsolrに処理のために送信され、ANDではなくOR演算子のように機能します。
q=category_name:cat1+_query_:"{!dismax+qf%3Dcategory_name+v%3Dcat2}"
PS:myQueryの書き方について解決策を見つける必要がありました、Plsヘルプ、それに固執しました
最終的に解決された、ネストされた+ = "AND query:\" {!dismax qf = category_name v =";は、私の問題の解決策です。
これでクエリが処理されます!! ありがとう