AbdulElahGwaith's picture
Upload folder using huggingface_hub
88df9e4 verified
import { Client } from '@elastic/elasticsearch'
import { safeUrlDisplay } from '@/search/lib/helpers/strings'
export function getElasticsearchClient(overrideURL = '', verbose = false): Client {
const node = getElasticsearchURL(overrideURL)
if (verbose) {
console.log('Connecting to Elasticsearch URL:', safeUrlDisplay(node))
}
const client = new Client({ node })
return client
}
function getElasticsearchURL(overrideURL = ''): string {
if (!process.env.ELASTICSEARCH_URL && !overrideURL) {
throw new Error(
'Must pass the elasticsearch URL option or ' +
'set the environment variable ELASTICSEARCH_URL',
)
}
let node = overrideURL || process.env.ELASTICSEARCH_URL || ''
// Allow the user to lazily set it to `localhost:9200` for example.
if (!node.startsWith('http') && !node.startsWith('://') && node.split(':').length === 2) {
node = `http://${node}`
}
const parsed = new URL(node)
if (!parsed.hostname) throw new Error('no valid hostname')
return node
}