Прежде всего, я хотел бы сказать, что это все еще довольно сыро. Мы хотели бы получить отзывы и комментарии.
Тем не менее,
Virgil (сервисный уровень и графический интерфейс поверх Cassandra) теперь имеет возможность интегрировать SOLR и Cassandra. Когда вы добавляете и удаляете строки и столбцы через интерфейс REST, индекс обновляется в SOLR.
За дополнительной информацией обращайтесь:
http://code.google.com/a/apache-extras.org/p/virgil/wiki/solr
Дайте нам знать, что мы можем сделать лучше.
Из Google Code:
Вступление
Virgil интегрирует SOLR так, что столбцы и строки, добавляемые и удаляемые через REST API, автоматически индексируются SOLR. Индексация происходит за пределами Кассандры.
Начиная
Установить SOLR
- Скачать SOLR
- Распаковать / распаковать установку
- Запустите сервер по умолчанию с:
- Это запустит экземпляр SOLR со схемой по умолчанию.
cd $SOLR_HOME/example java -jar start.jar
Настроить Вергилия
- Откройте файл virgil.yaml в src / main / resources / и убедитесь, что имя хоста указано правильно, и индексация включена.
- Начать Вирджил с бен / Вирджил
solr_host: http://localhost:8983/solr/ enable_indexing: true
использование
Убедитесь, что вы выполнили шаги по началу работы, чтобы создать игровое пространство для ключей и семейство игрушек.
Чтобы использовать индексирование, добавьте параметр запроса в свой URL. Для добавления добавьте «index = true». Для удаления нажмите «purgeIndex = true».
Вы можете увидеть содержимое индекса SOLR по следующему URL. Первоначально он должен быть пустым: http: // localhost: 8983 / solr / select /? Q = *% 3A * & version = 2.2 & start = 0 & lines = 10 & indent = on
Затем, после каждого из следующих шагов, вы сможете обновить и увидеть обновленный индекс.
Вставить строку (rowkey = «swingset», столбцы foo: 1, строка: 22 )
curl -X PUT http://localhost:8080/virgil/data/playground/toys/swingset?index=true -d "{\"foo\":\"1\",\"bar\":\"33\"}"
Вставить столбец (rowkey = «swingset», столбцы snaf: lisa )
curl -X PUT http://localhost:8080/virgil/data/playground/toys/swingset/snaf?index=true -d "lisa"
Удалить столбец (rowkey = «swingset»)
curl -X DELETE http://localhost:8080/virgil/data/playground/toys/swingset/snaf?purgeIndex=true
Удалить строку
curl -X DELETE http://localhost:8080/virgil/data/playground/toys/swingset?purgeIndex=true
Использование индекса
Чтобы добиться интеграции, Virgil использует возможности SOLR для динамических полей. Используя приведенные выше команды curl, вы получите следующий документ в SOLR:
<result name="response" numFound="1" start="0"> <doc> <str name="bar_t">37</str> <str name="columnFamily_t">toys</str> <str name="foo_t">1</str> <str name="id">toys.swingset</str> <str name="rowKey_t">swingset</str> </doc> </result>
Вы заметите, что каждая строка становится документом в SOLR, а каждый столбец становится полем. Кроме того, мы включаем семейство столбцов и ключ строки как поля, которые мы объединяем для создания уникального идентификатора для документа. Поскольку мы используем динамические поля, мы привязываем « t» к каждому имени поля, что позволяет SOLR распознавать его как текст. Исходя из этого, вы сможете теперь искать в SOLR, используя имена столбцов + « t».
Повернись с консоли администратора: http: // localhost: 8983 / solr / admin /
Попробуйте добавить следующее в качестве критерия поиска.
bar_t:37
ВАЖНАЯ ЗАМЕТКА
Поскольку нет способа добавлять и удалять поля документа в SOLR, существует штраф за удаление или добавление одного столбца. Таким образом, лучше всего делать вставки и удаления строк, когда вы можете.
Источник блога:
http://brianoneill.blogspot.com/2011/11/cassandra-integration-w-solr-using.html