Ваш код выглядит идеально. Я тоже сталкивался с этой проблемой. В то время это был классный вопрос. Просто попробуйте удалить класс, как показано ниже.
<div *ngIf="submitted && f.invoice_type.errors"> // Remove class from hear
<div *ngIf="f.invoice_type.errors.required">Invoice type is required</div>
</div>
В то время я не добавлял никаких CSS для этого класса. И после удаления этого класса это сработало для меня. Поэтому я думаю, что это может быть та же проблема.
И убедитесь, что вы должны поместить <select>
в тег <form>
.
Надеюсь, это поможет тебе :)
Я не создал бы его самостоятельно, если это возможно.
Механизм приложения включает основы механизма Полнотекстового поиска, и существует большое сообщение в блоге здесь, которое описывает, как использовать его.
Существует также запрос новых функций в средстве отслеживания ошибки, которое, кажется, привлекает некоторое внимание в последнее время, таким образом, можно хотеть протянуть, если Вы можете, пока это не реализовано.
Ряд Read Tim Bray сообщений на предмете.
- Фон
- Использование поисковых систем
- Основы
- Точность и полнота
- Ищите engne аналитику
- Хитрые критерии поиска
- Стоп-слова
- Метаданные
- Интернационализация
- Рейтинг результатов
- XML
- Роботы
- Список требований
Я нашел эти две книги очень полезными, когда я раньше создавал механизмы полнотекстового поиска.
Как всегда запускаются в Википедии. Сначала запуск обычно создает инвертированный индекс.
Вот исходная идея:
Не создавайте индекс. Серьезно.
Я сталкивался с подобным progblem некоторое время назад. Мне был нужен быстрый метод для поиска megs и megs текста, который прибыл из документации. Я должен был распознать не только слова, но и близость слова в больших документах (это слово около того слова). Я только что закончил тем, что писал это в C, и скорость его удивила меня. Это было достаточно быстро, что этому не были нужны никакая оптимизация или индексация.
Со скоростью сегодняшних компьютеров при написании кода, который работает прямо на металле (скомпилированный код), Вам часто не нужен журнал порядка (n) алгоритм типа для получения производительности, в которой Вы нуждаетесь.
Lucene или Autonomy! Это не вне готовых решений для Вас. Необходимо будет записать обертки сверху их интерфейсов.
Они, конечно, заботятся о стемминге, грамматике, операторы отношения и т.д.
Сначала создайте свой индекс. Пройдите вход, разделите на слова
Поскольку каждое слово проверяет, находится ли это уже в индексе, если это, добавляет текущее рекордное число к индексному списку, если не добавляют слово и рекордное число.
Для поиска слова переходят в (возможно отсортированный), индексируют и возвращают все рекордные числа для того слова.
Это очень esy, чтобы сделать это для reasoable списка размера с помощью встроенных типов хранения Python.
Как дополнительное улучшение Вы только хотите сохранить основную часть слова, например, 'найти' для 'нахождения' - ищут алгоритмы стемминга.
См. также вопрос, который я задал: практическое руководство: Рейтинг Результатов поиска.
Конечно, существует больше подходов, но это - то, которое я использую на данный момент.
Книга Введение в Информационный поиск обеспечивает хорошее введение в поле.
Мертво-древовидная версия публикуется издательством Кембриджского университета, но можно также найти бесплатный онлайн выпуск (в HTML и PDF) переходить по ссылке выше.
Честно, более умные люди, чем я понял этот материал. Я загрузил бы solr приложение и выполнил бы json вызовы из моего appengine приложения и позволил бы solr заботиться об индексации.
Я просто нашел эту статью в эти выходные: http://www.perl.com/pub/a/2003/02/19/engine.html
Взгляды, не слишком сложные, чтобы сделать простой (хотя этому была бы нужна тяжелая оптимизация, чтобы быть решением для типа предприятия наверняка). Я планирую на попытке подтверждения концепции с некоторыми данными из Проекта Gutenberg.
Если Вы просто ищете что-то, что можно исследовать и учиться от, я думаю, что это - хорошее начало.
Изучите книгу "Руководящие Гигабайты", она покрывает устройство хранения данных и извлечение огромных объемов данных простого текста - например, и сжатие и фактический поиск и множество алгоритмов, которые могут использоваться для каждого.
Также для извлечения простого текста Вы являетесь лучшими от использования основанной на векторе поисковой системы, а не ключевого слова-> документ, индексирующий систему, поскольку основанные на векторе системы могут быть намного быстрее, и, что еще более важно, могут обеспечить уместность, занимающую место относительно тривиально.