Ich habe ein Json Dokument in cloudant als:Hinzufügen von Funktionen im Suchindex von loudant
{
"_id": "3-f812228f45b5f4e4962505561953ew245",
"_rev": "3-f812228f45b5f4e496250556195372b2",
"wiki_page": "http://en.wikipedia.org/wiki/African_lion",
"name": "african lion",
"class": "mammal",
"diet": "herbivore"
}
ich einen Suchindex erstellen möchte, die dieses Dokument suchen können, wenn ich Eingabe Abfragen als „afrian Löwe“ oder „Löwe afrikanisch ", ...
Ich mache eine Funktion, die alle Fälle von Permutation in" doc.name "für die Indizierung zurückgeben kann (Diese Funktion funktioniert gut und wurde auch in reiner JS-Umgebung überprüft). Allerdings funktioniert es nicht in Cloudant, die Ausgabe null zurückgeben, wenn ich eine Abfrage eingeben.
Dies ist ein Code, den ich in Suchindex gemacht:
function(doc){
var list = [];
function permute(ss, used, res, level, list){
if(level==ss.length&&res!==""){
list.push(res);
return;
}
for(var i=0; i<ss.length; i++){
console.log("loops");
if (used[i]===true){
continue;
}
if(level>=0){
if (res!="" && list.indexOf(res)<0){
list.push(res.trim());
}
used[i]=true;
permute(ss, used, res+" "+ss[i], level+1, list)
used[i]=false;
}
}
}
function permuteword(s){
var ss=s.split(" ");
var used = [];
var res = "";
list = [];
permute(ss, used, res, 0, list);
console.log(list);
}
var contentIndex=[];
contentIndex=permuteword("african lion");
for(var i=0; i<contentIndex.length; i++){
index("default", contentIndex[i]);
}
}
wie ich das Problem lösen kann?
Ich habe gerade die Codes durch Ersetzen der Rückgabe in Permuteword als Liste von globalen Variablen bearbeitet. Der Code funktioniert unter https://jsfiddle.net/bnb53qyd/2/. Aber es funktioniert immer noch nicht in Cloudant. –
Wunderbar !, es funktioniert jetzt. –