0
- 假設用戶輸入一個雙字輸入用於搜索,因爲應用的默認布爾值爲OR,所有包含全部或兩個條目的條目出現。 我有興趣知道的是,如果條件特別符合「與」條件可以得到提升。
- 如果有多個單詞,可以指定單詞來暗示搜索中的特定約束,或者在出現這些單詞時增強幾個參數。例如:如果輸入是「帶有x和沒有z的y」,我可以讓我的solr將其解釋爲(x AND y)AND(not z)?或者至少提升部分或全部符合要求的條目?
編輯: 我一直在使用與edismax升壓嘗試如下所示:如何在solr查詢中提升AND?
$query = $client->createSelect(); //create search query
$query->setQuery('memberType:'.$searchQuery.' firstName:'.$searchQuery.' gender:'.$searchQuery); //include fields required for searching //meantion fields to be searched and search query/ies
$edismax = $query->getEDisMax();
$edismax->setQueryFields('firstName memberType^3 gender^2'); //boost fields
$query->setStart($start)->setRows($rows); //vary bracketted numbers to vary results staring point and no. of rows to be displayed, use variables instead of constants
$query->setFields(array('id', 'firstName', 'lastName', 'eid', 'gender', 'memberType')); //set return fields
//$query->addSort('id', $query::SORT_ASC); //sort field and customisations
$resultSet = $client->select($query);
當我搜索名稱與特定的成員類型,如「桑傑候選人」我希望爲了與sanjay和候選人,然後所有用戶誰是候選人,然後所有用戶誰sanjay,但相反我得到sanjay和候選人,然後所有誰sanjay,然後所有的候選人。
我無法弄清楚問題可能出在哪裏,或者我是否可以提供更加定製的提升。
感謝您的回覆。我仍在學習各種強化方法。但沒有實際的例子,很難與他們聯繫。你能告訴我,這句話可能對你有幫助嗎? – abhilashLenka