Solr запрос не работает для типа поля "текст" - PullRequest
0 голосов
/ 28 февраля 2019

Я использую базу данных solr для хранения информации о некоторых тегах.Для хранения данных я использую поле «текст» solr со следующим определением:

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
  </analyzer>
</fieldType>

Ниже хранятся данные:

  {
    "id": 568658sheib,
    "created_at":"2019-02-21T12:45:49Z",
    "tags":"tagone_tagsuserinfo_tagsnameuserinfo,tagtwo_tagsuserinfo_tagsnameuserinfo,tagthree_tagsuserinfo_tagsnameuserinfo,tagfour_tagsuserinfo_tagsnameuserinfo,tagfive_tagsuserinfo_tagsnameuserinfo,tagsix_tagsuserinfo_tagsnameuserinfo,tagsseven_tagsuserinfo_tagsnameuserinfo,tagseight_tagsuserinfo_tagsnameuserinfo,tagsnine_tagsuserinfo_tagsnameuserinfo,tagsten_tagsuserinfo_tagsnameuserinfo,tagsleven_tagsuserinfo_tagsnameuserinfo,tagstwelve_tagsuserinfo_tagsnameuserinfo,tagsthirteen_tagsuserinfo_tagsnameuserinfo,tagsfourteen_tagsuserinfo_tagsnameuserinfo"
   }

Я получаю результат, когда я запрашиваю, как показано ниже:

id:568658sheib AND tags:tagone_tagsuserinfo_tagsnameuserinfo
id:568658sheib AND tags:tagsfourteen_tagsuserinfo_tagsnameuserinfo

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

tags:tagseight_tagsuserinfo_tagsnameuserinfo AND tags:tagsfourteen_tagsuserinfo_tagsnameuserinfo

Это очень запутанно.Я пробовал все виды запросов, но без помощи.Пожалуйста, помогите с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...