Hi Rick,

I think the explanation is straight-forward given your last comment. Indexes 
are not replicated, they are only built locally. So that original error is 
likely a timeout waiting for the index to build.

B.

> On 9 May 2022, at 21:16, Rick Jarvis <[email protected]> wrote:
> 
> It would appear it is actually speed. For some reason, search is a lot slower 
> on a rebuilt vm with the same specs.
> 
> Is there any control over indexing / verifying it’s happening ok? I’m not at 
> all sure how the search functionality works if I’m hones...
> 
> -- 
> Rick Jarvis
> 
> On 9 May 2022 at 17:40:23, Rick Jarvis ([email protected]) wrote:
> 
> Apologies if this is a duplicate, I think I might have used the wrong email 
> address:
> 
> I’ve migrated couchdb over to a new server, using replication. Latest couchdb 
> running on Debian 11.
> 
> Everything is working except ‘find’ (using Nano, from a NodeJs app).
> 
> It’s a long time since I set the search tree up, but essentially it looks 
> like the below (if of interest) - I can’t really remember how it works!
> 
> Is there anything I need to do since moving to the new server to make it 
> work? I can’t see any obvious errors in the couchdb logs. Client times out, 
> and I get this in the node logs (I think this is coming from the error, but 
> it’s production, so difficult to pinpoint atm):
> 
> 0|main  | Error: error happened in your connection
> 0|main  |     at responseHandler 
> (/var/app/node_modules/nano/lib/nano.js:120:16)
> 0|main  |     at axios.then.catch 
> (/var/app/node_modules/nano/lib/nano.js:405:13)
> 0|main  |     at process._tickCallback (internal/process/next_tick.js:68:7)
> 
> var subquery = {      // q is search term
>        selector: {
>            $and: [
>                {
>                    $or: [{ type: { $eq: 'case' } }, { type: { $eq: 'user' } 
> }, { type: { $eq: 'property' } }],
>                },
>                {
>                    $or: [
>                        { email: { $regex: q } },
>                        { firstname: { $regex: q } },
>                        { lastname: { $regex: q } },
>                        { p_forenames: { $regex: q } },
>                        { p_surname: { $regex: q } },
>                        { p_forenames2: { $regex: q } },
>                        { p_surname2: { $regex: q } },
>                        { n_company_name: { $regex: q } },
>                        { n_property_address: { $regex: q } },
>                        { n_property_address_postcode: { $regex: q } },
>                        { c_provider: { $regex: q } },
>                        { c_policy_number: { $regex: q } },
>                        { c_product_code: { $regex: q } },
>                    ],
>                },
>            ],
>        },
>        fields: [
>            'type',
>            '_id',
>            'firstname',
>            'lastname',
>            'p_forenames',
>            'p_surname',
>            'p_forenames2',
>            'p_surname2',
>            'email',
>            'role',
>            'clientid',
>            'adviser',
>            'p_joint',
>            'n_property_address',
>            'n_property_address_postcode',
>            'c_provider',
>            'c_policy_number',
>            'c_product_code',
>            'mb_deleted',
>            'n_company_name',
>            'created',
>        ],
>        limit: 50,
>    };
> 
>    couch.find(subquery, function(err, data) { ... })
> 
> -- 
> Rick Jarvis

Reply via email to