Как использовать Solr? - PullRequest
       29

Как использовать Solr?

2 голосов
/ 08 октября 2011

Я программирую в приложении ASP MVC3.Одной из частей этого приложения должен быть список товаров, содержащий фасетный поиск, полнотекстовый поиск и дистанционный поиск.Через некоторое время исследований я нашел SOLR и SOLRNet.Я установил Solr на Tomcat 7 и включил DataImportHandler для индексирования данных из моей базы данных MS SQL.Теперь у меня есть проблема, возможно, только проблема понимания:

  1. Фасеты, которые я хочу использовать, помещаются в базу данных и могут меняться каждый раз.Где я должен реализовать фасетную индексацию?В приложении ASP MVC или в конфигурации данных solr?

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

  3. Как сделать так, чтобы solr проиндексировал данные из solrnet?

  4. Нужно ли перестраивать индекс после каждого изменения?

Множество вопросов, и я был бы рад, если бы кто-то знал ответ на некоторые из них.Большое спасибо и хороших выходных!

Ответы [ 2 ]

2 голосов
/ 08 октября 2011

Фасеты, которые я хочу использовать, помещаются в базу данных и могут меняться каждый раз. Где я должен реализовать фасетную индексацию? В приложении ASP MVC или в data-config solr?

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

Как solr работает в сочетании с solrnet, solr должен получать новый индекс моей базы данных для каждого поиска, правильно?

Нет, вам не нужно заново создавать индекс для каждого поиска.

Как сделать так, чтобы solr проиндексировал данные из solrnet?

Вы упомянули, что уже настроили DataImportHandler для индексации своих данных, это правильный подход для заполнения индекса, когда Solr извлекает данные из базы данных. Если вы хотите отправить данные в свой индекс, используя вместо этого SolrNet, используйте методы Add / AddRange .

0 голосов
/ 08 октября 2011

Фасеты, которые я хочу использовать, помещаются в базу данных и могут меняться каждый раз. Где я должен реализовать фасетную индексацию? В приложении ASP MVC или в data-config solr?

Solr provides out of the box faceting.
you would index the data you need to facet in schema.xml and enable faceting during the searches in solrconfig.xml.
On the application side you just need to process the facet data return by Solr.

http://www.lucidimagination.com/devzone/technical-articles/faceted-search-solr

Как solr работает в сочетании с solrnet, solr должен получать новый индекс моей базы данных для каждого поиска, верно?

Usually the client (java and ruby) interacts with Solr through http executing searches and processing the results providing you an easy access.
So everytime the search happens Solrnet would be querying the latest index.

Должен ли я перестраивать индекс при каждом изменении?

With Data import handler you can incrementally index you data periodically.
The timestamp handling is performed for you by Solr.
You would need to have jobs which would perform the incremental indexing.
However, if you need to have the data reflected with every change you would need to index the data through application.

Dataimporthandler, с Solr на Tomcat 7 должно работать нормально. Проверьте версию jdk, так как jdk 7 имел некоторые проблемы с Solr / Lucene.

...