Я строю поисковую систему на основе Java Lucene, которая при добавлении добавляет определенное количество мета-полей, одним из которых является поле sourceId, которое обозначает, откуда была эта запись.Поиск Lucene по числовым значениям
Теперь я пытаюсь извлечь все документы из определенного источника, но индекс, похоже, не может их найти. Однако, если я ищу значение подстановочного знака, все возвращаемые документы имеют правильное значение для этого поля.
Запрос Lucene Я использую довольно прост, в основном index-source-id:1
но не возвращает никаких ударов, если я ищу content:a*
я получаю десятки документов, каждый из которых, когда его спросили, возвращающие значение 1
для index-source-id
значение, которое является правильным.
Любые идеи?
Я установил идентификатор для индексации, yup. Я искал список Анализаторов, но не мог найти тот, который сказал, что он имеет дело с цифрами, кажется, что StandardAnalyzer делает, что я считал устаревшим, поэтому, возможно, это может помочь. – Martin
Восстановление индекса, а затем поиск с помощью StandardAnalyzer вместо SimpleAnalyzer сделал трюк! – Martin
Для дальнейшего использования вы не хотите анализировать (или токенизировать) поля id, так как они должны быть атомарными по своей природе, и, поскольку Эйнштейн показал нам со своими приятелями в Манхэттенском проекте, расщепление атомов - это не очень хорошо. .. – Esko