Store.Yes
Означает, что значение поля будет сохранено в индексе
Store.No
Означает, что значение поля будет НЕ сохранено в индексе
Store.Yes / No не влияет на индексирование или поиск с lucene. Он просто сообщает lucene, хотите ли вы, чтобы он действовал как хранилище данных для значений в поле. Если вы используете Store.Yes, то при поиске значение этого поля будет включено в ваш результат поиска Documents.
Если вы храните свои данные в базе данных и используете для поиска только индекс Lucene, то вы можете использовать Store.No для всех своих полей. Однако, если вы также используете индекс в качестве хранилища, вам понадобится Store.Yes.
Index.Tokenized
Означает, что поле будет размечено, когда оно будет проиндексировано (вы его получили). Это полезно для длинных полей с несколькими словами.
Index.Un_Tokenized
Означает, что поле не будет проанализировано и будет сохранено как одно значение. Это полезно для ключевого слова / одного слова и некоторых коротких полей из нескольких слов.
Index.No
Именно то, что написано. Поле не будет проиндексировано и, следовательно, недоступно для поиска. Однако вы можете использовать Index.No вместе с Store.Yes для хранения значения, которое вы не хотите использовать для поиска.
Index.No_Norms
То же, что Index.Un_Tokenized, за исключением того, что несколько байтов будут сохранены без сохранения некоторых данных нормализации. Эти данные используются для усиления и нормализации длины поля.
Для дальнейшего чтения, lucene javadocs бесценны (текущая версия API 4.4.0):
В связи с вашим последним вопросом о том, почему ваш запрос ничего не возвращает, не зная больше о том, как вы индексируете это поле, я бы сказал, что это потому, что ваш спецификатор fieldName привязан только к строке 'my'. Для поиска фразы «моя строка» вы хотите:
fieldName: "моя строка"
Поиск слов "my" и "string" в поле fieldName:
fieldName: (моя строка)