Solr как получить только точное совпадение

Пример поля тегов.

"tags":["[\"Rectangle\",\"Product\",\"Font\",\"Rectangle\",\"Product\",\"Rectangle\",\"Snack\",\"Product\",\"Material property\",\"Product\",\"Material property\"]"],

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

q=tags:land

"tags":["[\"Land vehicle\",\"Vehicle\"]"] - 

Я не хочу, чтобы это производило совпадение.

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true">
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.SynonymGraphFilterFactory" expand="true" ignoreCase="true" synonyms="synonyms.txt"/>
    <filter class="solr.StopFilterFactory" words="stopwords.txt" igno reCase="true"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

<field name="tags" type="text_general">

Скриншот примера документа с полем тегов, как описано выше


person sarin Wickramasinghe    schedule 04.02.2021    source источник
comment
Используйте String в качестве типа поля.   -  person Abhijit Bashetti    schedule 04.02.2021
comment
stackoverflow.com/questions/64640474/   -  person Abhijit Bashetti    schedule 04.02.2021
comment
Я изменил свою схему, как показано ниже: ‹имя поля=тип тегов=строка, индексированная=истина, хранимая=истина, требуемая=истина, многозначная=ложь/› ‹fieldType name=string class=solr.StrField sortMissingLast=true omitNorms=true docValues=true/› После изменения теперь я не получаю никаких результатов. Примечание: поле имеет значения в тегах, разделенных запятыми: [[Прямоугольник, Продукт, Шрифт, Прямоугольник, Продукт, Прямоугольник, Закуска, Продукт, Свойство материала, Продукт, Свойство материала]],   -  person sarin Wickramasinghe    schedule 04.02.2021
comment
@AbhijitBashetti   -  person sarin Wickramasinghe    schedule 04.02.2021
comment
Кажется, у вас есть строка JSON, проиндексированная как одна строка, а не как отдельные поля? Вместо этого вы должны сделать этот индекс отдельными значениями (декодируя его как JSON, а затем правильно индексируя) - как выглядит ваш код индексации? Что на самом деле возвращается с вашим документом?   -  person MatsLindh    schedule 04.02.2021
comment
@MatsLindh я прикрепил изображение образца документа   -  person sarin Wickramasinghe    schedule 04.02.2021
comment
Да, это битые данные. Сначала вы должны десериализовать его, а затем добавить как правильное многозначное поле. Он отправляется как сериализованный JSON, который не будет вести себя должным образом (т. е. сериализованная строка будет проиндексирована как одно значение). Вы также должны добавить текстовый контент в качестве правильного текста в свой вопрос, так как в этих случаях он будет гораздо более доступным и доступным для поиска.   -  person MatsLindh    schedule 04.02.2021