2016-11-02 6 views
2

У меня есть огромный файл файл, составленный из метаданных книги (автор, название, дата, URL). Моя проблема в том, что я хочу работать с именами авторов (которые часто повторяются: у автора могут быть сотни записей), и я хочу работать с подмножеством этих авторов, которые имеют более X записей.Openrefine: text facet by counting

Например, у меня есть 200 записей, связанных с «William Shakespeare», но только одна запись «Джон Блэк» и т. Д. Дело в том, что это классический закон о силе, у меня есть сотни тысяч авторов, большинство из них 1-2 записи.

Использование «Text facet»> «count» невозможно, потому что мой компьютер зависает.

Есть ли запрос, чтобы иметь фасет текста только некоторых записей, основанный на их подсчете?

+1

ли вы пытаетесь использовать пользовательский текст огранку? Как прежде всего вы удаляете пробелы (Facet> Customize Facets> Facet by Blank), а затем настраиваемый фасет текста (Facet> Customize Text Facet). И если это проблема памяти, я рекомендую вам разрезать половину файлов и обрабатывать их в пакетном режиме. – iMitwe

+0

Да, я попробовал. Я уже выделил больше памяти, но мне нужен весь файл, во всяком случае, для других операций. –

ответ

3

Создание пользовательского текст фаски со следующим выражением Grel (заменить COLUMNS_NAME ваше действительным имя столбца):

facetCount(value, "value", "COLUMN_NAME") > 100

Вы можете редактировать сравнение (в данном примере каждые сосчитать большими, чем 100).

Чтобы отобразить только точное соответствие счетчика необходимо использовать два == вроде этого:

facetCount(value, "value", "COLUMN_NAME") == 100

Более подробно об этом video + tutorail on facet by facet count

+0

Спасибо! это оно –