У моєму проекті є сценарій, де ми єза допомогою Lucene для пошуку. Я індексую багато полів. Тепер я зберігаю typeId як одне з цих полів. Користувачеві потрібно здійснити пошук за типом тексту. Але проблема полягає в тому, що текст Type може бути згодом змінений. Але перевстановлення - це не варіант. Потрібно краще рішення, тож будь ласка, чи можете користувачі Lucene вказувати мені деякі рішення.
Я можу вирішити, чи перевірити, чи є текст пошуку TypeText, а потім маніпулювати текстом пошуку в TypeId: GuidValue, а потім запустити запит.
Будь ласка, чи можете користувачі Lucene дати кілька кращих ідей. Я зовсім новачок у Lucene, читайте про різні типи запитів Lucene, але я знаю, як найкраще їх використовувати.
Заздалегідь спасибі.
Відповіді:
0 для відповіді № 1Якщо я правильно розумію, у вас є деякі об'єкти Type, які мають властивість Text, які можуть змінюватися, та властивість Id, що є GUID, що не змінюється.
Якщо ви не хочете змінити Тип.Значення тексту в індексі потрібно розв’язати Type.Id, що відповідає вашій програмі, а потім запитати відповідний Type.Id у люцені. (як пропонує ваше рішення)
Але не бажаючи оновлювати вид індексованого текстового значення, перемагає мета використання механізму індексації тексту.