2017-01-27 4 views
0

xml имеет 2 набора похожих тегов с разными данными.Как индексировать xml в solr с одинаковыми тегами, но разными значениями

<address> 
    <door_num>100</door_num> 
    <street>hundred street</street> 
    <city>XYZ</city> 
</address> 
<address> 
    <door_num>200</door_num> 
    <street>two hundred street</street> 
    <city>ABC</city> 
    <active>1</active> 
</address> 

Каков наилучший способ проиндексировать это? Поиск по door_num 100 и город XYZ должен вернуть документ; тогда как поиск по door_num 100 и городской ABC не должен возвращать какой-либо документ. Хранение как многозначных здесь не помогает. Также обратите внимание, что второй набор адресов с дверью_num 200 может быть или не быть в xml. Пожалуйста, предлагайте

ответ

0

Введите следующие данные: nested documents, адресная информация будет храниться в вложенных документах, а затем вы можете запросить их, чтобы и door_num, и город должны совпадать с одним и тем же вложенным документом.

касается того, как на самом деле получить их в индекс, у вас есть несколько вариантов:

  1. написать некоторый Java (или заводной или любой другой JVM языки) код с SolrJ, строить свои документы на стороне клиента, и индексируйте их.
  2. Если вам не нравится java, вы все равно можете написать любой другой код lang на стороне клиента и построить свои документы как xml/json, которые Solr может глотать, индексировать.
  3. , если вы вообще не хотите писать код, попробуйте с DIH and XPathEntityProcessor, вы можете достичь всего, что вам нужно.
+0

Спасибо за детали. Это полезно. – KCMS

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

  • Нет связанных вопросов^_^