В соответствии с Linux можно использовать очень мощное перекод команда, чтобы попытаться преобразовать между различными наборами символов, а также любыми проблемами окончания строки. -l перекода покажет Вам все форматы и кодировку, что инструмент может преобразовать между. Это, вероятно, будет Очень длинный список.
Боюсь, что при такой конструкции ваш объект тега может стать узким местом, особенно если вы ожидаете, что некоторые теги будут очень распространены. Я могу придумать три конкретных проблемы: эффективность ваших получателей и вставок, конкуренция записи и взрывающиеся индексы. Давайте посмотрим на stackoverflow в качестве примера - прямо сейчас существует 14 000 сообщений с тегом «java».
Query q = pm.newQuery(Post.class)
q.setFilter("tags" == 'Java' && "tags == 'appengine'");
Для всех сообщений с либо тегами java, либо appengine, вам нужно будет выполнить один запрос для каждого тега, а затем самостоятельно объединить результаты. В настоящий момент хранилище данных не обрабатывает операции типа OR / IN.
Поиск связанных сообщений звучит сложно. Я подумаю об этом после кофе.
Возможно, вы захотите посмотреть это видео от Google IO . Сущности индекса отношения - это то, что вам нужно, и оно позволяет вам удалить сообщения List
в сущности Tag
. А также Список тегов
в сущности Post
.