Couchbase
Couchbase is an award-winning distributed NoSQL cloud database that delivers unmatched versatility, performance, scalability, and financial value for all of your cloud, mobile, AI, and edge computing applications.
Installation
#!pip install couchbase
Querying for Documents from Couchbase
For more details on connecting to a Couchbase cluster, please check the Python SDK documentation.
For help with querying for documents using SQL++ (SQL for JSON), please check the documentation.
from langchain.document_loaders.couchbase import CouchbaseLoader
connection_string = "couchbase://localhost" # valid Couchbase connection string
db_username = (
"Administrator" # valid database user with read access to the bucket being queried
)
db_password = "Password" # password for the database user
# query is a valid SQL++ query
query = """
SELECT h.* FROM `travel-sample`.inventory.hotel h
WHERE h.country = 'United States'
LIMIT 1
"""
Create the Loader
loader = CouchbaseLoader(
connection_string,
db_username,
db_password,
query,
)
You can fetch the documents by calling the load
method of the loader.
It will return a list with all the documents. If you want to avoid this
blocking call, you can call lazy_load
method that returns an Iterator.
docs = loader.load()
print(docs)
[Document(page_content='address: 8301 Hollister Ave\nalias: None\ncheckin: 12PM\ncheckout: 4PM\ncity: Santa Barbara\ncountry: United States\ndescription: Located on 78 acres of oceanfront property, this resort is an upscale experience that caters to luxury travelers. There are 354 guest rooms in 19 separate villas, each in a Spanish style. Property amenities include saline infinity pools, a private beach, clay tennis courts, a 42,000 foot spa and fitness center, and nature trails through the adjoining wetland and forest. The onsite Miro restaurant provides great views of the coast with excellent food and service. With all that said, you pay for the experience, and this resort is not for the budget traveler. In addition to quoted rates there is a $25 per day resort fee that includes a bottle of wine in your room, two bottles of water, access to fitness center and spa, and internet access.\ndirections: None\nemail: None\nfax: None\nfree_breakfast: True\nfree_internet: False\nfree_parking: False\ngeo: {\'accuracy\': \'ROOFTOP\', \'lat\': 34.43429, \'lon\': -119.92137}\nid: 10180\nname: Bacara Resort & Spa\npets_ok: False\nphone: None\nprice: $300-$1000+\npublic_likes: [\'Arnoldo Towne\', \'Olaf Turcotte\', \'Ruben Volkman\', \'Adella Aufderhar\', \'Elwyn Franecki\']\nreviews: [{\'author\': \'Delmer Cole\', \'content\': "Jane and Joyce make every effort to see to your personal needs and comfort. The rooms take one back in time to the original styles and designs of the 1800\'s. A real connection to local residents, the 905 is a regular tour stop and the oldest hotel in the French Quarter. My wife and I prefer to stay in the first floor rooms where there is a sitting room with TV, bedroom, bath and kitchen. The kitchen has a stove and refrigerator, sink, coffeemaker, etc. Plus there is a streetside private entrance (very good security system) and a covered balcony area with seating so you can watch passersby. Quaint, cozy, and most of all: ORIGINAL. No plastic remods. Feels like my great Grandmother\'s place. While there are more luxurious places to stay, if you want the real flavor and eclectic style of N.O. you have to stay here. It just FEELS like New Orleans. The location is one block towards the river from Bourbon Street and smack dab in the middle of everything. Royal street is one of the nicest residential streets in the Quarter and you can walk back to your room and get some peace and quiet whenever you like. The French Quarter is always busy so we bring a small fan to turn on to make some white noise so we can sleep more soundly. Works great. You might not need it at the 905 but it\'s a necessity it if you stay on or near Bourbon Street, which is very loud all the time. Parking tips: You can park right in front to unload and it\'s only a couple blocks to the secure riverfront parking area. Plus there are several public parking lots nearby. My strategy is to get there early, unload, and drive around for a while near the hotel. It\'s not too hard to find a parking place but be careful about where it is. Stay away from corner spots since streets are narrow and delivery trucks don\'t have the room to turn and they will hit your car. Take note of the signs. Tuesday and Thursday they clean the streets and you can\'t park in many areas when they do or they will tow your car. Once you find a spot don\'t move it since everything is walking distance. If you find a good spot and get a ticket it will cost $20, which is cheaper than the daily rate at most parking garages. Even if you don\'t get a ticket make sure to go online to N.O. traffic ticket site to check your license number for violations. Some local kids think it\'s funny to take your ticket and throw it away since the fine doubles every month it\'s not paid. You don\'t know you got a ticket but your fine is getting bigger. We\'ve been coming to the French Quarter for years and have stayed at many of the local hotels. The 905 Royal is our favorite.", \'date\': \'2013-12-05 09:27:07 +0300\', \'ratings\': {\'Cleanliness\': 5, \'Location\': 5, \'Overall\': 5, \'Rooms\': 5, \'Service\': 5, \'Sleep Quality\': 5, \'Value\': 5}}, {\'author\': \'Orval Lebsack\', \'content\': \'I stayed there with a friend for a girls trip around St. Patricks Day. This was my third time to NOLA, my first at Chateau Lemoyne. The location is excellent....very easy walking distance to everything, without the chaos of staying right on Bourbon Street. Even though its a Holiday Inn, it still has the historical feel and look of NOLA. The pool looked nice too, even though we never used it. The staff was friendly and helpful. Chateau Lemoyne would be hard to top, considering the price.\', \'date\': \'2013-10-26 15:01:39 +0300\', \'ratings\': {\'Cleanliness\': 5, \'Location\': 5, \'Overall\': 4, \'Rooms\': 4, \'Service\': 4, \'Sleep Quality\': 5, \'Value\': 4}}, {\'author\': \'Hildegard Larkin\', \'content\': \'This hotel is a safe bet for a value stay in French Quarter. Close enough to all sites and action but just out of the real loud & noisy streets. Check in is quick and friendly and room ( king side balcony) while dated was good size and clean. Small balcony with table & chairs is a nice option for evening drink & passing sites below. Down side is no mimi bar fridge ( they are available upon request on a first come basis apparently, so book one when you make initial reservation if necessary) Bathroom is adequate with ok shower pressure and housekeeping is quick and efficient. TIP; forget paying high price for conducted local tours, just take the red trams to end of line and back and then next day the green tram to cross town garden district and zoo and museums. cost for each ride $2.00 each way!! fantastic. Tip: If you stay during hot weather make sure you top up on ice early as later guests can "run the machine dry" for short time. Overall experience met expectations and would recommend for value stay.\', \'date\': \'2012-01-01 18:48:30 +0300\', \'ratings\': {\'Cleanliness\': 4, \'Location\': 4, \'Overall\': 4, \'Rooms\': 3, \'Service\': 4, \'Sleep Quality\': 3, \'Value\': 4}}, {\'author\': \'Uriah Rohan\', \'content\': \'The Chateau Le Moyne Holiday Inn is in a perfect location in the French Quarter, a block away from the craziness on Bourbon St. We got a fantastic deal on Priceline and were expecting a standard room for the price. The pleasant hotel clerk upgraded our room much to our delight, without us asking and the concierge also went above an beyond to assist us with information and suggestions for places to dine and possessed an "can do" attitude. Nice pool area to cool off in during the midday NOLA heat. It is definitely a three star establishment, not super luxurious but the beds were comfy and the location superb! If you can get a deal on Priceline, etc, it\\\'s a great value.\', \'date\': \'2014-08-04 15:17:49 +0300\', \'ratings\': {\'Cleanliness\': 4, \'Location\': 5, \'Overall\': 4, \'Rooms\': 3, \'Service\': 5, \'Sleep Quality\': 4, \'Value\': 4}}]\nstate: California\ntitle: Goleta\ntollfree: None\ntype: hotel\nurl: http://www.bacararesort.com/\nvacancy: True')]
docs_iterator = loader.lazy_load()
for doc in docs_iterator:
print(doc)
break
page_content='address: 8301 Hollister Ave\nalias: None\ncheckin: 12PM\ncheckout: 4PM\ncity: Santa Barbara\ncountry: United States\ndescription: Located on 78 acres of oceanfront property, this resort is an upscale experience that caters to luxury travelers. There are 354 guest rooms in 19 separate villas, each in a Spanish style. Property amenities include saline infinity pools, a private beach, clay tennis courts, a 42,000 foot spa and fitness center, and nature trails through the adjoining wetland and forest. The onsite Miro restaurant provides great views of the coast with excellent food and service. With all that said, you pay for the experience, and this resort is not for the budget traveler. In addition to quoted rates there is a $25 per day resort fee that includes a bottle of wine in your room, two bottles of water, access to fitness center and spa, and internet access.\ndirections: None\nemail: None\nfax: None\nfree_breakfast: True\nfree_internet: False\nfree_parking: False\ngeo: {\'accuracy\': \'ROOFTOP\', \'lat\': 34.43429, \'lon\': -119.92137}\nid: 10180\nname: Bacara Resort & Spa\npets_ok: False\nphone: None\nprice: $300-$1000+\npublic_likes: [\'Arnoldo Towne\', \'Olaf Turcotte\', \'Ruben Volkman\', \'Adella Aufderhar\', \'Elwyn Franecki\']\nreviews: [{\'author\': \'Delmer Cole\', \'content\': "Jane and Joyce make every effort to see to your personal needs and comfort. The rooms take one back in time to the original styles and designs of the 1800\'s. A real connection to local residents, the 905 is a regular tour stop and the oldest hotel in the French Quarter. My wife and I prefer to stay in the first floor rooms where there is a sitting room with TV, bedroom, bath and kitchen. The kitchen has a stove and refrigerator, sink, coffeemaker, etc. Plus there is a streetside private entrance (very good security system) and a covered balcony area with seating so you can watch passersby. Quaint, cozy, and most of all: ORIGINAL. No plastic remods. Feels like my great Grandmother\'s place. While there are more luxurious places to stay, if you want the real flavor and eclectic style of N.O. you have to stay here. It just FEELS like New Orleans. The location is one block towards the river from Bourbon Street and smack dab in the middle of everything. Royal street is one of the nicest residential streets in the Quarter and you can walk back to your room and get some peace and quiet whenever you like. The French Quarter is always busy so we bring a small fan to turn on to make some white noise so we can sleep more soundly. Works great. You might not need it at the 905 but it\'s a necessity it if you stay on or near Bourbon Street, which is very loud all the time. Parking tips: You can park right in front to unload and it\'s only a couple blocks to the secure riverfront parking area. Plus there are several public parking lots nearby. My strategy is to get there early, unload, and drive around for a while near the hotel. It\'s not too hard to find a parking place but be careful about where it is. Stay away from corner spots since streets are narrow and delivery trucks don\'t have the room to turn and they will hit your car. Take note of the signs. Tuesday and Thursday they clean the streets and you can\'t park in many areas when they do or they will tow your car. Once you find a spot don\'t move it since everything is walking distance. If you find a good spot and get a ticket it will cost $20, which is cheaper than the daily rate at most parking garages. Even if you don\'t get a ticket make sure to go online to N.O. traffic ticket site to check your license number for violations. Some local kids think it\'s funny to take your ticket and throw it away since the fine doubles every month it\'s not paid. You don\'t know you got a ticket but your fine is getting bigger. We\'ve been coming to the French Quarter for years and have stayed at many of the local hotels. The 905 Royal is our favorite.", \'date\': \'2013-12-05 09:27:07 +0300\', \'ratings\': {\'Cleanliness\': 5, \'Location\': 5, \'Overall\': 5, \'Rooms\': 5, \'Service\': 5, \'Sleep Quality\': 5, \'Value\': 5}}, {\'author\': \'Orval Lebsack\', \'content\': \'I stayed there with a friend for a girls trip around St. Patricks Day. This was my third time to NOLA, my first at Chateau Lemoyne. The location is excellent....very easy walking distance to everything, without the chaos of staying right on Bourbon Street. Even though its a Holiday Inn, it still has the historical feel and look of NOLA. The pool looked nice too, even though we never used it. The staff was friendly and helpful. Chateau Lemoyne would be hard to top, considering the price.\', \'date\': \'2013-10-26 15:01:39 +0300\', \'ratings\': {\'Cleanliness\': 5, \'Location\': 5, \'Overall\': 4, \'Rooms\': 4, \'Service\': 4, \'Sleep Quality\': 5, \'Value\': 4}}, {\'author\': \'Hildegard Larkin\', \'content\': \'This hotel is a safe bet for a value stay in French Quarter. Close enough to all sites and action but just out of the real loud & noisy streets. Check in is quick and friendly and room ( king side balcony) while dated was good size and clean. Small balcony with table & chairs is a nice option for evening drink & passing sites below. Down side is no mimi bar fridge ( they are available upon request on a first come basis apparently, so book one when you make initial reservation if necessary) Bathroom is adequate with ok shower pressure and housekeeping is quick and efficient. TIP; forget paying high price for conducted local tours, just take the red trams to end of line and back and then next day the green tram to cross town garden district and zoo and museums. cost for each ride $2.00 each way!! fantastic. Tip: If you stay during hot weather make sure you top up on ice early as later guests can "run the machine dry" for short time. Overall experience met expectations and would recommend for value stay.\', \'date\': \'2012-01-01 18:48:30 +0300\', \'ratings\': {\'Cleanliness\': 4, \'Location\': 4, \'Overall\': 4, \'Rooms\': 3, \'Service\': 4, \'Sleep Quality\': 3, \'Value\': 4}}, {\'author\': \'Uriah Rohan\', \'content\': \'The Chateau Le Moyne Holiday Inn is in a perfect location in the French Quarter, a block away from the craziness on Bourbon St. We got a fantastic deal on Priceline and were expecting a standard room for the price. The pleasant hotel clerk upgraded our room much to our delight, without us asking and the concierge also went above an beyond to assist us with information and suggestions for places to dine and possessed an "can do" attitude. Nice pool area to cool off in during the midday NOLA heat. It is definitely a three star establishment, not super luxurious but the beds were comfy and the location superb! If you can get a deal on Priceline, etc, it\\\'s a great value.\', \'date\': \'2014-08-04 15:17:49 +0300\', \'ratings\': {\'Cleanliness\': 4, \'Location\': 5, \'Overall\': 4, \'Rooms\': 3, \'Service\': 5, \'Sleep Quality\': 4, \'Value\': 4}}]\nstate: California\ntitle: Goleta\ntollfree: None\ntype: hotel\nurl: http://www.bacararesort.com/\nvacancy: True'
Specifying Fields with Content and Metadata
The fields that are part of the Document content can be specified using
the page_content_fields
parameter. The metadata fields for the
Document can be specified using the metadata_fields
parameter.
loader_with_selected_fields = CouchbaseLoader(
connection_string,
db_username,
db_password,
query,
page_content_fields=[
"address",
"name",
"city",
"phone",
"country",
"geo",
"description",
"reviews",
],
metadata_fields=["id"],
)
docs_with_selected_fields = loader_with_selected_fields.load()
print(docs_with_selected_fields)
[Document(page_content='address: 8301 Hollister Ave\ncity: Santa Barbara\ncountry: United States\ndescription: Located on 78 acres of oceanfront property, this resort is an upscale experience that caters to luxury travelers. There are 354 guest rooms in 19 separate villas, each in a Spanish style. Property amenities include saline infinity pools, a private beach, clay tennis courts, a 42,000 foot spa and fitness center, and nature trails through the adjoining wetland and forest. The onsite Miro restaurant provides great views of the coast with excellent food and service. With all that said, you pay for the experience, and this resort is not for the budget traveler. In addition to quoted rates there is a $25 per day resort fee that includes a bottle of wine in your room, two bottles of water, access to fitness center and spa, and internet access.\ngeo: {\'accuracy\': \'ROOFTOP\', \'lat\': 34.43429, \'lon\': -119.92137}\nname: Bacara Resort & Spa\nphone: None\nreviews: [{\'author\': \'Delmer Cole\', \'content\': "Jane and Joyce make every effort to see to your personal needs and comfort. The rooms take one back in time to the original styles and designs of the 1800\'s. A real connection to local residents, the 905 is a regular tour stop and the oldest hotel in the French Quarter. My wife and I prefer to stay in the first floor rooms where there is a sitting room with TV, bedroom, bath and kitchen. The kitchen has a stove and refrigerator, sink, coffeemaker, etc. Plus there is a streetside private entrance (very good security system) and a covered balcony area with seating so you can watch passersby. Quaint, cozy, and most of all: ORIGINAL. No plastic remods. Feels like my great Grandmother\'s place. While there are more luxurious places to stay, if you want the real flavor and eclectic style of N.O. you have to stay here. It just FEELS like New Orleans. The location is one block towards the river from Bourbon Street and smack dab in the middle of everything. Royal street is one of the nicest residential streets in the Quarter and you can walk back to your room and get some peace and quiet whenever you like. The French Quarter is always busy so we bring a small fan to turn on to make some white noise so we can sleep more soundly. Works great. You might not need it at the 905 but it\'s a necessity it if you stay on or near Bourbon Street, which is very loud all the time. Parking tips: You can park right in front to unload and it\'s only a couple blocks to the secure riverfront parking area. Plus there are several public parking lots nearby. My strategy is to get there early, unload, and drive around for a while near the hotel. It\'s not too hard to find a parking place but be careful about where it is. Stay away from corner spots since streets are narrow and delivery trucks don\'t have the room to turn and they will hit your car. Take note of the signs. Tuesday and Thursday they clean the streets and you can\'t park in many areas when they do or they will tow your car. Once you find a spot don\'t move it since everything is walking distance. If you find a good spot and get a ticket it will cost $20, which is cheaper than the daily rate at most parking garages. Even if you don\'t get a ticket make sure to go online to N.O. traffic ticket site to check your license number for violations. Some local kids think it\'s funny to take your ticket and throw it away since the fine doubles every month it\'s not paid. You don\'t know you got a ticket but your fine is getting bigger. We\'ve been coming to the French Quarter for years and have stayed at many of the local hotels. The 905 Royal is our favorite.", \'date\': \'2013-12-05 09:27:07 +0300\', \'ratings\': {\'Cleanliness\': 5, \'Location\': 5, \'Overall\': 5, \'Rooms\': 5, \'Service\': 5, \'Sleep Quality\': 5, \'Value\': 5}}, {\'author\': \'Orval Lebsack\', \'content\': \'I stayed there with a friend for a girls trip around St. Patricks Day. This was my third time to NOLA, my first at Chateau Lemoyne. The location is excellent....very easy walking distance to everything, without the chaos of staying right on Bourbon Street. Even though its a Holiday Inn, it still has the historical feel and look of NOLA. The pool looked nice too, even though we never used it. The staff was friendly and helpful. Chateau Lemoyne would be hard to top, considering the price.\', \'date\': \'2013-10-26 15:01:39 +0300\', \'ratings\': {\'Cleanliness\': 5, \'Location\': 5, \'Overall\': 4, \'Rooms\': 4, \'Service\': 4, \'Sleep Quality\': 5, \'Value\': 4}}, {\'author\': \'Hildegard Larkin\', \'content\': \'This hotel is a safe bet for a value stay in French Quarter. Close enough to all sites and action but just out of the real loud & noisy streets. Check in is quick and friendly and room ( king side balcony) while dated was good size and clean. Small balcony with table & chairs is a nice option for evening drink & passing sites below. Down side is no mimi bar fridge ( they are available upon request on a first come basis apparently, so book one when you make initial reservation if necessary) Bathroom is adequate with ok shower pressure and housekeeping is quick and efficient. TIP; forget paying high price for conducted local tours, just take the red trams to end of line and back and then next day the green tram to cross town garden district and zoo and museums. cost for each ride $2.00 each way!! fantastic. Tip: If you stay during hot weather make sure you top up on ice early as later guests can "run the machine dry" for short time. Overall experience met expectations and would recommend for value stay.\', \'date\': \'2012-01-01 18:48:30 +0300\', \'ratings\': {\'Cleanliness\': 4, \'Location\': 4, \'Overall\': 4, \'Rooms\': 3, \'Service\': 4, \'Sleep Quality\': 3, \'Value\': 4}}, {\'author\': \'Uriah Rohan\', \'content\': \'The Chateau Le Moyne Holiday Inn is in a perfect location in the French Quarter, a block away from the craziness on Bourbon St. We got a fantastic deal on Priceline and were expecting a standard room for the price. The pleasant hotel clerk upgraded our room much to our delight, without us asking and the concierge also went above an beyond to assist us with information and suggestions for places to dine and possessed an "can do" attitude. Nice pool area to cool off in during the midday NOLA heat. It is definitely a three star establishment, not super luxurious but the beds were comfy and the location superb! If you can get a deal on Priceline, etc, it\\\'s a great value.\', \'date\': \'2014-08-04 15:17:49 +0300\', \'ratings\': {\'Cleanliness\': 4, \'Location\': 5, \'Overall\': 4, \'Rooms\': 3, \'Service\': 5, \'Sleep Quality\': 4, \'Value\': 4}}]', metadata={'id': 10180})]