2012-02-03 2 views
0

эти столбцы моей базы данных индексируются Lucene:ищет группу ключевых слов в нескольких областях с помощью Lucene

category_name/sub_category_name/classification_name/item_name/supplier 

затем выборочные данные следующим образом:

ALUMINUM/ORDINARY/3"/CHINA ALUMINUM/<BLANK> 
ALUMINUM/ORDINARY/4"/USA ALUMINUM/<BLANK> 
ALUMINUM/SPECIAL/1"/PHL ALUMINUM/JKL MANUFACTURERS 
ALUMINUM/PLAIN/1"/CANADA ALUMINUM/ABC COMPANY 
ALUMINUM/SPECIAL/3"A/CHINA ALUMINUM/DEF INC 

я хочу, чтобы мой пользователь для ввода группы ключевых слов в строке поиска, поиска по ключевым словам во всех столбцах и отображения конкретных результатов. такие, как всякий раз, когда пользователь ищет

"ALUMINUM 3"A CHINA" 

это будет просто отобразить эту запись:

ALUMINUM/SPECIAL/3"A/CHINA ALUMINUM/DEF INC 

будет там в Lucene запроса для этого? Я использую java в качестве основного языка и mysql для своей базы данных. мой механизм хранения базы данных - InnoDB

ответ

0

Если ваши поисковые запросы проходят через все столбцы, то проиндексируйте их как одно поле. Затем пользователь просто вводит их в свой запрос, и вам не нужно ничего делать.

+0

Так какой же запрос lucene я буду использовать? – maccramers

+0

... Какой бы вид вы ни пожелали? Что вы имеете в виду? – Xodarap

+0

получил то, что имел в виду. Я использовал queryparser для синтаксического анализа, и он работал хорошо. благодаря! – maccramers

0

org.apache.lucene.queryParser. MultiFieldQueryParser предназначен для такого случая.

Смежные вопросы