2015-07-29 3 views
0

Предположим, кроме простых текстовых терминов я хочу получить некоторые сложные данные из текста. Например, текст может содержать описания графиков в некотором формате. После этого я хочу делать запросы, которые содержат некоторые условия на этих графиках (для примера я хочу найти все документы с планарными графами или что-то вроде этого). Похоже, что стандартного индекса Solr недостаточно для такой задачи, потому что в конце он (как я понимаю) обрабатывает документ в терминах токенов, которые являются только строками, но мне нужен дополнительный индекс, который имеет более подходящий формат. Итак, вопрос: могу ли я каким-то образом настроить индексирование и извлечение данных из индекса в Solr? Я прочитал много документации, но не смог найти ответ.Пользовательский индекс в Apache Solr

ответ

0

Да. Вы можете определить каждое поле в файле schema.xml. Внутри этого файла вы можете определить, какой тип данных хранится, как токенизировать документ и как манипулировать токенированными данными. Чтобы удовлетворить ваши потребности, вам, вероятно, потребуется написать собственный токенизатор и, возможно, настраиваемые фильтры.

0

Ваша лучшая отправная точка - это посмотреть определение поля text_general в схеме. Он имеет различные токенизаторы, фильтры, которые применяются к тексту и помогают вам индексировать. Вы можете определить разные токены как при индексировании, так и в процессе запроса.

Вам необходимо знать, что маркеры применяются к тексту, и фильтры применяются к каждому токену. У вас есть дескриптор графиков в некотором формате. Можете ли вы подробнее рассказать о типе формата, чтобы мы могли думать о лучших способах? Существует так много существующих токенов и фильтров. В зависимости от формата вы можете использовать существующие или писать свои собственные.

+0

Пусть формат графика будет просто простым списком смежности: например [2] [1,3] [2] описывает график, в котором первая вершина связана со вторым; от второго до первого и третьего; третий-второй. –

+0

Итак, я вижу, что вы можете просто сохранить весь формат в строке, не используя никакой токенизации? И как вы планируете запрашивать этот график, пытаетесь ли вы искать целое значение формата отдельной ячейки. Эти вопросы определяют ваш тип поля. – Ramzy

Смежные вопросы