Esempio n. 1
0
func (indexes *BleveIndexes) RemoveIndex(namespace string) error {
	ns, err := util.Namespace(namespace)
	if err != nil {
		return err
	}

	indexes.Lock()
	defer indexes.Unlock()

	node := indexes.nodes.Node(ns)
	if node == nil {
		return fmt.Errorf("none node for namespace: %s", ns)
	}

	if node.GetBind() != nil {
		node.SetBind(nil)
	}

	// remove the index from fs
	os.RemoveAll(path.Join(indexes.root, namespace, indexes.name))
	return nil
}
Esempio n. 2
0
func (indexes *BleveIndexes) CreateIndex(namespace string) error {
	ns, err := util.Namespace(namespace)
	if err != nil {
		return err
	}

	indexes.Lock()
	defer indexes.Unlock()

	node := indexes.nodes.Node(ns)
	if node == nil {
		return fmt.Errorf("none node for namespace: %s", ns)
	}

	if node.GetBind() == nil {
		index, err := indexes.index(ns, true)
		if err != nil {
			return err
		}
		node.SetBind(index)
	}
	return nil
}