2012-06-16 2 views
-1

У меня есть схема, которую я пытаюсь создать в solr, данные просты с помощью только productKey, затем я беру этот ключ продукта, нажимаю на несколько разных сайтов и сохраняю описания своих продуктов этот продукт для поиска.solr schema design, multiple key/vals

, например: ProductKey: 1234, я ударил SiteA и получил обратно «крутую бритву», SITEB я назад «аккуратную бритву»

так идеально в документе я хотел бы сохранить то, что это похоже на концепции чтобы:

(PSUDOCODE)

<doc> 
<productKey>1234</productKey> 
<site>siteA</site> 
<desc>coolrazor</desc> 
<site>siteB</site> 
<desc>near razor</desc> 
</doc> 

, но я хотел бы быть в состоянии сделать поиски, как, покажите мне все документы, где SiteA думали, что-то было «крутой бритву» только в этом. прямо сейчас он вытащил бы любой сайт, на котором была бритва.

любое исправление для этого?

+0

Почему вы не используете redis для своей задачи вместо solr ... эта проблема хорошо подходит для redis. – Yavar

+0

также, пожалуйста, улучшите свое предложение немного, начиная с «сайта A, хотя что-то ...», как выглядит сайт? – Yavar

+0

эта проблема не подходит для redis, redis - это ключевой поиск, а не индекс поиска. – James

ответ

0

Какой тип анализатора вы используете в поле desc? Я думаю, вам нужно будет использовать solr.KeywordTokenizerFactory в поле описания.

См http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters

+0

Я ничего не использую в данный момент, пытаясь понять, как начать работу с правильной схемой – James

0

Я хотел бы создать один документ на сайте, имея что-то другое, чем ProductKey в качестве уникального идентификатора поля.

+0

, принять 100 миллионов гордости и данные из 50 разных сайтов, поэтому в этом случае документ на один сайт даст 500 миллионов документов в этом случае. – James