Я использую Lucene для поиска в базе данных контактов. Под контактами я подразумеваю имя, несколько телефонных номеров, адреса электронной почты, адреса и т. Д. И т. Д. В базе данных они явно разделены на отдельные поля и даже отдельные таблицы. Я хочу иметь возможность искать контакты по любому из полей, чтобы, например, я мог набрать «Джон Доу», и Люсен вернет контактную информацию Джона Доу. У Джона Доу также есть номер телефона, и я хотел бы иметь возможность найти его запись, введя этот номер телефона, или адрес, или адрес электронной почты и т. Д. И т. Д. Я не хочу конкретно указывать, какое поле я ищу.
При создании моего индекса лучше всего объединить все данные в одно поле "данных" или оставить их отдельно? Я не буду хранить данные в индексе, кроме идентификатора, который я буду использовать для извлечения всех дополнительных данных из базы данных. Будет ли Standard Analyzer и Query Parser работать в моей ситуации, или я должен использовать более индивидуальный подход?
Я довольно новичок в Lucene и только изучаю, насколько он действительно силен, поэтому я не против того, чтобы по-настоящему вникнуть в него и создать несколько сложных пользовательских поисковых запросов, но мне понадобится какое-то руководство для этого и я хочу избежать необходимость делать все это, если в этом нет необходимости.