Конфигурация schema.xml для имен файлов? - PullRequest
0 голосов
/ 12 февраля 2011

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

Мы получаем от наших поставщиков данные о производстве оборудования в файлах XML.В обычный день мы получили 25 000 файлов.Вот почему я решил реализовать Solr.

Имена файлов состоят из одиннадцати полей, разделенных тильдами, например, так:

CTCA~PRE~PREP~1010123~ONTDTVP5A~41~P~R16-500~000912239878~20110125~212321.XML 

Наши ребята, занимающиеся исследованиями и разработками, хотят иметь возможность искать каждое поле в именах файлов XML файла (операция ИЛИ), но онине волнует поиск содержимого файла.В идеале, они хотели бы сделать запрос ко всем файлам, где "stbmodel", равный "R16-500" или "result", это "P" или "filedate", это "20110125" ... вы понимаете.

Я определил в schema.xml каждое поле данных следующим образом (слева направо - извините за длинный список):

   field name="location"       type="textgen"          indexed="false" stored="true"   multiValued="false"/
   field name="scriptid"       type="textgen"          indexed="false" stored="true"   multiValued="false"/
   field name="slotid"         type="textgen"          indexed="false" stored="true"   multiValued="false"/
   field name="workcenter"     type="textgen"          indexed="false" stored="false"  multiValued="false"/
   field name="workcenterid"   type="textgen"          indexed="false" stored="fase"   multiValued="false"/ 
   field name="result"         type="string"           indexed="true" stored="true"    multiValued="false"/ 
   field name="computerid"     type="textgen"          indexed="false" stored="true"   multiValued="false"/ 
   field name="stbmodel"       type="textgen"          indexed="true" stored="true"    multiValued="false"/ 
   field name="receiver"       type="string"           indexed="true" stored="true"    multiValued="false"/ 
   field name="filedate"       type="textgen"          indexed="false" stored="true"   multiValued="false"/ 
   field name="filetime"       type="textgen"          indexed="false" stored="true"   multiValued="false"/

Кроме того, я определил в качестве уникального ключа поле "получатель".Но по моим запросам результаты не возвращаются.Я позаботился об обновлении своего индекса следующим образом:

"java -jar apache-solr-1.4.1/example/exampledocs/post.jar *XML". 

Я явно что-то упустил.Есть идеи?.

Ал.

PS: мой следующий шаг - попробовать "solr.KeywordTokenizerFactory".

Ответы [ 2 ]

0 голосов
/ 14 февраля 2011

Использовать токенайзер ключевых слов http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.KeywordTokenizerFactory

0 голосов
/ 12 февраля 2011

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

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