0
我在我的Cloudant上有一個搜索索引,我使用AngularJS和PHP進行查詢。Cloudant和AngularJS的具體搜索
到目前爲止我沒有得到足夠詳細的結果。
例如,在使用fair:'Fair 2017'
進行搜索時,我得到的所有結果包括Fair
,包括Fair 2016
等等。
我嘗試過不同的搜索類型(簡單,標準,經典),它發生在所有這些類型中。
一個典型的對象:
doc:Object
exhibitortype:"Project Space"
fair:"Fair 2017"
...
這裏是我的AngularJS代碼:
$scope.loadexhibitors = function(fair){
$scope.searchindex = fair.doc.fairname;
var $promisefairexh=$http({
url: 'databaseconnect/getexhibitors.php',
method: "GET",
params: {search: $scope.searchindex}
});
...
的PHP位看起來是這樣的:
<?php
$search = $_GET["search"];
$newsearch = str_replace(' ', '+', $search);
$url = "https://user:[email protected]/db/_design/fairs/_search/by_fair?q='$newsearch'&include_docs=true";
$ch = curl_init(); // initialize curl handle
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
?>
而且我Cloudant搜索功能:
function (doc) {
index("default", doc.fair);
}
另一方面,在Cloudant用戶界面上,當我測試搜索索引並在搜索輸入中包含雙引號(例如:「Fair 2016」而不是Fair 2016)時,我會得到期望的結果。
任何提示?