2017-07-09 3 views
0

J'ai suivi l'entrée de blog ici pour activer la recherche en texte intégral https://developer.ibm.com/dwblog/2015/text-search-apache-couchdb/#.Vly24SCrQbVActiver la recherche de texte intégral dans Apache CouchDB

J'ai tout mis correctement, et ont aussi essayé avec d'autres peuples docker images.

Comment configurer une recherche? Quels documents sont nécessaires.

J'ai créé une base de données appelée chats avec un document

{ 
    "_id": "6f35d75b476517e2fc0b3eb12c000e72", 
    "_rev": "1-c9a6b4734c83287499e8bbd6d1339050", 
    "name": "tibbles" 
} 

Et une conception/vue

{ 
    "_id": "_design/cat_look", 
    "_rev": "1-aae457e6edf5e4a3f69357e5a2160fcc", 
    "views": { 
    "kitty_name": { 
    "map": "function (doc) {\n index(\"kittyName\", doc.name, {\"store\": true});\n}" 
    } 
    }, 
    "language": "javascript" 
} 

Si je vais à http://localhost:15984/cats/_design/cat_look/_search/kitty_name?q= "*"

Je reçois

{"erreur": "not_found", "raison": "nom_complet non trouvé."}

Merci pour toute aide à ce sujet, je suis très perdu.

Répondre

0

Un index de recherche Lucene est configuré différemment de la façon dont une vue Réduire la carte est effectuée. Dans votre code, il semble que vous ayez essayé d'utiliser une vue Réduire la carte. Pour Lucene, vous devez d'abord mettre en place un indice:

{ 
    "_id": "_design/Cat_look", 
    "indexes": { 
     "kitty_name": { 
      "index": "function(doc){ ... }" 
     } 
    } 
} 

Consulter les documents de Cloudant sur le sujet: https://console.bluemix.net/docs/services/Cloudant/api/search.html#search

0

Merci pour votre aide, vous avez raison je configurer correctement l'index de recherche Lucene. Voici le code pour obtenir un exemple simple de travail pour quelqu'un d'autre perdu.

Si vous avez docker configuration

docker run -d -p 15984:15984 ncheaz/couchdb:search 

pour obtenir la recherche de CouchDB sur le port local 15984

Le document de recherche

{ 
    "_id": "6f35d75b476517e2fc0b3eb12c000e72", 
    "_rev": "1-c9a6b4734c83287499e8bbd6d1339050", 
    "name": "tibbles" 
} 

l'index de recherche. Créez un nouveau document, pas une nouvelle vue.

{ 
    "_id": "_design/cat_look", 
    "_rev": "2-23f6ab0606a603cbef04653d167585d4", 
    "views": {}, 
    "language": "javascript", 
    "indexes": { 
    "kitty_name": { 
     "analyzer": "simple", 
     "index": "function (doc) {if (doc.name) {index(\"name\", doc.name, {\"store\":true}); }}" 
    } 
    } 
} 

L'URL pour rechercher le nom des chats est

http://localhost:15984/cats/_design/cat_look/_search/kitty_name?q=name:tibbl *

Notez que kitty_name est le nom du _search et name est le nom de l'index.

Je recommande à tous ceux qui éprouvent des difficultés pour que cela fonctionne pour créer un compte d'essai gratuit sur IBM Cloudant car la documentation se rapporte directement à leur produit et il est beaucoup plus facile à suivre.

+0

Heureux que je puisse vous aider. N'hésitez pas à accepter la réponse :) merci. – xpqz