2015-07-07 5 views
1

Новое в Solr Я загрузил несколько документов. я могу видеть то, используя ПОЛУЧАЕТЕ: http://domain:8983/solr/core1/get?id=2solr запрос не возвращает результатов

{ "doc": { 
"id":"2", 
"cus_name_s":"Paul Brown2", 
"cus_email_t":["[email protected]"], 
"com_id_i":201, 
"com_name_s":"com1", 
"url_s":"/integration/", 
"_version_":1506032461063127040}} 

но когда я выполняю этот запрос: http://domain:8983/solr/core1/query?q=cus_email_t:paul&fl=id

Я получаю

{ 
    "responseHeader":{ 
    "status":0, 
    "QTime":1, 
    "params":{ 
     "fl":"id", 
     "q":"cus_email_t:paul"}}, 
    "response":{"numFound":0,"start":0,"docs":[] 
    }} 
+0

Пожалуйста, добавьте фрагменты схемы! – alexf

+0

Извинения: откуда мне получить схему? Я думал, что могу просто создать вышеупомянутый документ «на лету», как только я построил ядро? –

+0

Обычно у вас есть файл 'schema.xml' в каталоге' conf'. В этом файле вы, вероятно, будете иметь элемент ''. Значение атрибута 'type' релевантно для вашего вопроса. – BlueM

ответ

0

Вероятно, анализирующей из ваших cus_email_t поле неверно. Поэтому взгляните на schema.xml и узнайте, если есть, например, действительный токенизатор, который разбивает ваш термин для извлечения почтового адреса.

Другим важным моментом является то, чтобы проверить, если определение поля устанавливается в indexed=true:

<field name="cus_email_t" type="..." indexed=true ... />

+0

Спасибо за ответ; спросил это выше, мне нужно вручную скопировать и настроить этот файл для каждого ядра, которое я создаю? –

+0

Обычно каждое ядро ​​имеет собственный 'schema.xml'. Вы также можете использовать страницу anlays из интерфейса solr Admin. Там вы можете увидеть, как ваше поле анализируется с помощью solr, и какой токенизатор, фильтр и т. Д. Применяется к вашему термину. –

+0

Это, по-видимому, наименее документированная часть настройки.Итак, я взял копию schema.xml и скопировал ее в файл solr/core_name/conf. Поскольку я использую динамические поля в своем наименовании, я предполагаю, что мне не нужно добавлять что-либо еще в настройку, просто остановитесь и перезапустите сервер после изменения файла schema.xml? –

0

Чтобы ответить на ваши вопросы в комментариях о schema.xml: По умолчанию Solr 5.2.1 создаст для вас управляемую схему. Если вы попытаетесь внести изменения в файл schema.xml, в то время как Solr пытается управлять, если для вас он будет генерировать другую управляемую схему и перезаписать все сделанные вами изменения, поскольку она должна быть изменена с помощью REST API.

Если вы хотите вручную изменить схему в файле schema.xml, вам нужно зайти в ваш файл yourcore/solrconfig.xml и изменить атрибут «class» тега schemaFactory на «ClassicIndexSchemaFactory».

<schemaFactory class="ClassicIndexSchemaFactory"/> 

Теперь Solr прочитает ваш файл schema.xml. Над тегом есть блок комментариев, который объясняет это.

Теперь вы можете вносить изменения в то, как ваши поля анализируются, как указано в предыдущем ответе.

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