2012-06-25 2 views
2

i m new to solr, поэтому мне действительно нужен кто-то, чтобы помочь мне понять поля ниже. В чем смысл поля, если он хранится = false, indexed = false? см. два примера ниже, каковы различия? Если поле не хранится, то какое его использование ...Solr schema.xml поле путаницы

<field name="test1" type="text" indexed="false" 
     stored="false" required="false" /> 

Как насчет этого?

<field name="test2" type="text" indexed="false" 
     stored="false" required="false" multiValued="true" /> 

Большое спасибо!

+1

Если его не хранятся, то вы можете не получить (индексируется) значение этого поля в наборе результатов (например, для отображения пользователю, например название книги). Если его не проиндексировать, вы не можете искать против него. Не уверен, что есть смысл иметь их как ложные (возможно, если какое-то поле используется в copyField, которое хранится/индексируется)? – nickdos

+0

nickdos, я сомневался, если это необходимо вообще, поэтому я разместил этот вопрос :). Спасибо, что помогли мне. – trillions

+0

Как и другие плакаты, эта информация легко найти на веб-сайте SOLR - вы соблазнительны отрицательными рейтингами - как определено SO как «Этот вопрос не показывает никаких исследований, он неясен или не полезен» – nickdos

ответ

8

Это проще, чем кажется:

  • indexed: вы можете найти на нем
  • stored: вы можете показать его в результатах поиска

На самом деле, могут быть поля, вы не используете для поиска, но просто хотите показать их в результатах. С другой стороны, могут быть поля, которые вы хотите показать в результатах, но вы не хотите использовать их для поиска. stored=false важен, когда вам не нужно показывать определенное поле, так как оно повышает производительность. Если вы сохранили все поля и у вас много полей, Solr может медленно возвращать результаты.

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

Уникальная разница между вашими двумя полями - multiValued=true, что означает, что второе поле может содержать несколько значений. Это означает, что содержимое поля представляет собой не только текстовую запись, но и список текстовых записей.

+0

Большое спасибо, джавана! Теперь ваше объяснение имеет для меня большой смысл. Бывший разработчик остался без документации, и я новичок в этой игре, поэтому мне пришлось попросить экспертов здесь понять, почему он даже сохранил = false и index = false появился для того же поля в schema.xml. Понятно, что это не кажется необходимым, и я могу просто удалить его. Я думаю, что если поле не упоминается в файле схемы, оно будет в принципе проигнорировано в любом случае, не нужно делать эту ошибку, чтобы игнорировать поле ... большое спасибо за то, что помогли мне и направили меня :) – trillions

+0

Вы, приветствуется! Еще одна вещь. Вы должны проверить внутри своего 'schema.xml', если вы используете динамические поля, поскольку это может сделать вещи немного разными. – javanna

+0

спасибо javanna! Это очень полезно :) Как раз для подтверждения, означает ли это, что если определение поля совпадает с динамическими полями, то в самом исходном поле нет необходимости определять индексирование и сохранение, поскольку динамическое поле будет делать это? – trillions

8

Вы можете найти лучшее объяснение от Solr wiki.

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

indexed = true: Истинно, если это поле должно быть «проиндексировано». Если (и только если) поле индексируется, то оно доступно для поиска, сортировки и фасетирования.

Если вы хотите получить поле в результатах поиска, вы должны установить сохраненный атрибут в значение true.

хранится = истина: Истина, если значение поля должно быть извлекаемым при поиске

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

многозначный = истина: Истина, если это поле может содержать несколько значений для каждого документа, то есть, если он может появляться несколько раз в документе

+1

Большое спасибо, parvin! :) – trillions

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