Arhn - архитектура программирования

Stratio Lucene для Кассандры

Я новичок в Lucene. Только начал. У меня есть несколько основных вопросов:

  • Как просмотреть все индексы, созданные с помощью Stratio Lucene?

  • Как удалить индексы, созданные с помощью Stratio Lucene?

  • В чем разница между

    fields: {
         fld_1: {type: "string"},
         fld_2: {type: "text"}
     }
    

тип: "строка" и тип: "текст"

Причина, по которой я прошу разницу, заключается в том, что я столкнулся с ошибкой при попытке создать свой самый первый индекс lucene. Мой столбец в Cassandra выглядит примерно так: 'fld_1 text', но когда я попытался создать и проиндексировать на fld_1, как указано выше, возникло исключение.

ConfigurationException: 'schema' is invalid : Unparseable JSON schema: Unexpected character ('}' (code 125)): was expecting either valid name character (for unquoted name) or double-quote (for quoted) to start field name
at [Source: {
fields: {

Скрипт индекса Lucene:

CREATE CUSTOM INDEX lucene_index ON testTable ()
USING 'com.stratio.cassandra.lucene.Index'
WITH OPTIONS = {
   'refresh_seconds': '1',
   'schema': '{
fields: {
     fld_1: {type: "string"},
     fld_2: {type: "string"},
     id: {type: "integer"},
     test_timestamp: {type: "date", pattern: "yyyy/MM/dd HH:mm:ss"}
  }
}'
};

Спасибо!

20.04.2017

Ответы:


1

Во-первых: вы не можете просматривать только индекс Stratio Lucene, ниже запрос покажет вам весь индекс

SELECT * FROM system."IndexInfo"; 

Во-вторых: вы можете удалить индекс с помощью команды DROP INDEX index_name. т.е.

DROP INDEX test;

Третье: в Stratio Lucene Index строка - это не анализируемое текстовое значение, а текст - это текстовое значение с учетом языка, анализируемое в соответствии с указанным анализатором.

Это означает, что если вы укажете поле как строку, оно будет напрямую индексироваться и запрашиваться. Но если вы используете текст, он сначала будет проанализирован указанным вами анализатором, по умолчанию _4 _ (_ 5_), затем будет индексироваться и запрашиваться.

Отредактировано:

Вы должны сначала создать текстовое поле в cassandra, а затем указать его при создании индекса.

Пример :

ALTER TABLE testtable ADD lucene text;

CREATE CUSTOM INDEX lucene_index ON testTable (lucene) USING 'com.stratio.cassandra.lucene.Index'
WITH OPTIONS = {
   'refresh_seconds': '1',
   'schema': '{
     fields: {
         fld_1: {type: "string"},
         fld_2: {type: "string"},
         id: {type: "integer"},
         test_timestamp: {type: "date", pattern: "yyyy/MM/dd HH:mm:ss"}
     }
   }'
};

Для получения дополнительной информации: https://github.com/Stratio/cassandra-lucene-index/blob/branch-3.0.13/doc/documentation.rst#text-mapper

20.04.2017
  • Спасибо за ответ. Я обновил вопрос, добавив больше информации. Я следовал примеру на упомянутой вами странице. Не могли бы вы объяснить это, пожалуйста? 20.04.2017
  • Какую версию индекса cassandra и stratio вы используете, и поместите свою схему, которую вы используете для создания индекса 20.04.2017
  • Я использую Cassandra 3.10 и stratio 3.10. 20.04.2017
  • А схема ?? 20.04.2017
  • Кстати, если вы используете cassandra 3.10, почему бы вам не использовать SASIIndex docs.datastax.com/en/cql/3.3/cql/cql_using/useSASIIndex.html 20.04.2017
  • Вы должны сначала создать текстовое поле в cassandra, а затем указать его при создании индекса. Ответ обновлен 20.04.2017
  • Должно ли быть название столбца люценовым? 20.04.2017
  • нет, это просто фиктивный столбец для индексации и запроса индекса 20.04.2017
  • В примере на странице они не используют такой столбец. Это из-за смены версии? 20.04.2017
  • Я проверил, что после Cassandra и Stratio версии 3.0 это фиктивное поле удалено. github.com/Stratio/ кассандра-люцен-индекс / blob / branch-3.10 / doc / 20.04.2017
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..