2016-07-19 2 views
1

В настоящее время у меня есть solr 5.5.0, установленный на компьютере с Windows 7.Почему Solr не извлекается на основе условностей?

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

Проблема, которую я имею что когда я загрузить файл, не кажется, что это будет извлекать пользовательские поля, которые были определены следующим образом:

public class SolrIndexFile 
{ 
    [SolrUniqueKey("id")] 
    public string Id { get; set; } 

    [SolrField("attr_resourcename")] 
    public string Path { get; set; } 

    [SolrField("extension_s")] 
    public string Extension { get; set; } 

    [SolrField("bytes_s")] 
    public string Bytes { get; set; } 
} 

Сначала я подумал, что мне нужно, чтобы задать схему. xml, но по мере того, как я читал больше (и solr переименовал его в schema.xml.bak), я понял, что теперь solr5 использует управляемую схему.

Тогда я думал, что мне нужно вручную добавить эти имена полей. Но потом я видел соглашения (albiet, я думаю, что видел его в файле schema.xml), но похоже, что эти соглашения все равно сохраняются.

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

using (var fileStream = File.OpenRead(tmp)) 
{ 
    _solr.Extract(new ExtractParameters(fileStream, index.Id, index.Path) 
    { 
     ExtractFormat = ExtractFormat.Text, 
     ExtractOnly = false, 
     AutoCommit = true 
    }); 
} 

tmp - путь к тому, что я загружаю.

Любая помощь приветствуется!

+0

Каково содержание вашего файла solrconfig.xml? Кое-что вроде управляемой схемы должно быть определено там или по умолчанию 5.5. Но, чтобы знать это, нужно было бы это увидеть. – cheffe

ответ

0

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

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

Если это так, то возникает вопрос, что происходит на стороне Solr. Если вы заходите в Admin UI, then on the schema browser screen, вы можете выбрать конкретное поле и посмотреть, какие маркеры (индексированное представление) содержатся в нем. Таким образом, вы можете проверить, попал ли какой-либо контент в Solr. Если это не так, тогда вы беспокоитесь о схеме и сопоставлении. Вы также выполнили бы базовый запрос и проверили бы, что на самом деле появляются новые документы, будь то с этими дополнительными полями или нет. В противном случае у вас может быть несколько экземпляров Solr, отсутствие коммитов или другие проблемы.

Если все в порядке, то вы фокусируетесь на стороне запроса и видите, можете ли вы не просить эти поля или какое-либо другое упущение.

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