Я рассматриваю / работающий над реализацией поисковой системы для различных типов контента нашей компании и пытаюсь перенести голову вокруг Lucene (конкретно разновидность .NET).
В настоящий момент мой основной вопрос состоит в том, должны ли документы, которые каждый индексирует, содержать те же поля.
Например:
Document1:
Document2:
... и т.д
Ничего в единообразенности силы Лусины.
Если вы ищете на поле, названный «FRED», а не все документы «Фред», «Этот поиск не найдет Fredless Docs.
То, что вы называете эмулированной консолью, не имеет ничего общего с эмуляцией или DOS. Вероятно, вы все еще создаете 32/64-разрядные исполняемые файлы Windows, используя только консольную подсистему.
Начните с замены компилятора на компилятор, способный генерировать 16-разрядный код. Я уверен, что OpenWatcom по-прежнему поддерживает 16-битную мишень MZ. IIRC DJGPP тоже, но я не уверен и не знаю, поддерживается ли он до сих пор.
Edit: about gotoxy
, можно:
0xB8000
Я никогда на самом деле Третий, кажется, самый быстрый.
-121--3320688-Я использовал сон, чтобы эмулировать короткое время, когда компьютер ожидал чего-то.
Как я сказал в своем вопросе, я не хотел использовать события, потому что это много ненужной работы, чтобы сделать что-то чрезвычайно просто.
Кроме того, «событие», которое должно произойти для продолжения программы, является событием USB. Так как я использую устройство класса HID, нет способа установить событие, чтобы произойти без цикла ожидания. Классы USB HID не разрешают прерывания настройки, об устройстве заявляет ОС.
Мне удалось заставить вышеперечисленное работать. Я прошелся по отладчику и заметил, что дисплей обновится перед функцией сна. Выполняя программу независимо, я получил случайные результаты с дисплеем, освежающим 1% времени. Я избавился от функции сна и добавил другой код, чтобы эмулировать задержку, и это было нормально.
Только для каждого, это возможно, это не запрещено, и это легко сделать со следующим:
qApp->processEvents();
qApp является глобальной внешней переменной в заголовке приложения QApplication.
Поскольку это событие USB усложняет мой поток, я наткнулся на класс QWaitCondition. Я собирался начать процесс ожидания события USB. Я бы подождал, пока процесс не освободит условие ожидания для продолжения моей процедуры.
Но если кто-то считает, что это плохая идея, пожалуйста, выскажитесь. Я действительно ценю ваш отзыв PiredPiper и Враждебная вилка.
Спасибо.
-121--2113785-Если вы хотите проиндексировать конкретное поле, я полагаю, что все документы должны иметь одинаковые поля.
На самом деле проблема заключается в стартовом комплекте emacs, связывающем (set-keyboard-coding-system 'utf-8)
Ответ: нет.
Если вы создаете дескриптор окна для любого потока, отличного от потока GUI, вы никогда не сможете его отобразить.
Edit: Полностью возможно создание форм и элементов управления и отображать их в потоке, отличном от основного потока GUI. Конечно, если это позволяет получить доступ только к многопоточному графическому интерфейсу из потока который создал его, но это возможно. - Эшли Хендерсон
Вы должны выполнить любой тяжелый подъем на bg нити, а затем загрузить данные в графический графический интерфейс
-121--2789792- Все зависит от того, как вы проиндексировали свои документы в Lucene. Все документы
должны быть добавлены в индекс. Для этого можно использовать IndexWriter
или написать собственный класс. Перед добавлением документа в индекс его следует разбить на пары значений имен. Впоследствии можно запросить у Lucene эти значения имен с помощью QuureParser
. Например, следующий запрос вернет все документы с фразами «Я - документ, малыш» в заголовке и «Вот некоторые важные вещи» в теле.
title:("I'm a document, baby") body:("Here are some important things")
Я только что показал простой пример, но вы можете создать более мощный поисковый запрос, различными способами.
Классы, которые я упомянул, являются классами java, но .net должны быть аналогичными.