A better search for Ghost - and it's not Algolia (and open source!)

I’m running Ghost via default official supported method (no Docker).

localhost is 127.0.0.1 and I can reach the Ghost API from both urls, including https as well.

ghost-typesense CLI is installed via npm no Docker.

It’s very strange to me, I’m open to experiment and any suggestion that could fix this issue.

I’m trying to configure typesense in Ghost 6.0.3

Everything was going well until until I get this error:

error: ‘Request failed with HTTP code 400 | Server said: Field tags must be an array of string.’

When run ghost-typesense sync --config ghost-typesense.config.json

Any idea?

Thanks

Thank you for reporting!

I just fixed that bug. You can run npm install -g @magicpages/ghost-typesense-cli to update the CLI. After that, ghost-typesense sync --config ghost-typesense.config.json should work again.

1 Like

Thanks Jannis. Now I get no error. But when truing to search the blog, I get the message: No results found for your search

What am I missing?

Also, need to keep the “version”: “v5.0”

If I change to v6.0 get this error:

Failed to initialize collection: [
{
“received”: “v6.0”,
“code”: “invalid_literal”,
“expected”: “v5.0”,
“path”: [
“ghost”,
“version”
],
“message”: “Invalid literal value, expected “v5.0””
}
]

Can you share an URL to your site? Feel free to send me a DM.

Yes, the version should stay at v5.0 for now. ts-ghost, the Typescript library under the hood, has not been updated for Ghost 6 yet, but everything should work as expected.

I’m in a test environment with no public access, but I’ll try to configure one and let you know.

Thanks

In that case, I’d check if Typesense has all posts indexed and if the configuration in the code injection is working properly (e.g. what’s happening in the network requests to the Typesense server)

I’m new to Typesense and Ghost, but as far as I noticed, when I ran ghost-typesense sync --config ghost-typesense.config.json , I saw a list of documents in the blog.

Typesense is on the same server as Ghost. The health check returns ok:

curl http://localhost:8108/health
{“ok”:true}

I sent you a DM

Thanks

Another thing I notice is, no matter I choose theme: ‘light’, ‘dark’, or ‘system’

Nothing changes