Mam pole o nazwie „tytuł”

<field name="title" type="text_general" indexed="true" stored="true" required="true" omitNorms="false"/>

Oto definicja pliku:

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
  <filter class="solr.LowerCaseFilterFactory"/>
  <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
  <filter class="solr.LowerCaseFilterFactory"/>
  <filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/>
</analyzer>
<analyzer type="query">
 <tokenizer class="solr.StandardTokenizerFactory"/>
   <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
     <filter class="solr.LowerCaseFilterFactory"/>
     <filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/>
  </analyzer>
</fieldType>

Tworzę zapytanie i próbuję posortować według pola [tytuł]. dziennik mówi:

INFO: [] webapp=/solr path=/select/ params={sort=title+asc&start=0&q="course"&wt=json&rows=15&version=2.2indent%3Don} hits=244 status=0 QTime=1

Co oznacza, że ​​moja składnia jest prawdopodobnie poprawna:

q="course"&amp;start=0&amp;rows=15&amp;version=2.2indent=true&amp;wt=json&amp;sort=Title%2Basc&sort=title+asc

Problem polega na tym, że wyniki nie wracają posortowane według pola [tytuł]. Wydaje mi się, że brakuje mi czegoś w pliku schema.xml, ale czego?

3
Itay Moav -Malimovka 2 marzec 2012, 19:57

2 odpowiedzi

Najlepsza odpowiedź

Ogólnie rzecz biorąc, możesz sortować według dowolnego pola, które jest jednowartościowe (tj., nie tokenizowane (chyba że używa analizatora, który generuje pojedynczy termin) ani wielowartościowy) i jest indeksowany. Tak więc pola text i text_* są gotowe do sortowania.

3
theEpsilon 5 grudzień 2019, 07:11

Dla przyszłego odniesienia: Pole, według którego sortujesz, nie powinno być „zbyt” tokenizowane...
Prześledziłem ten artykuł, który rozwiązał mój problem.

1
Itay Moav -Malimovka 2 marzec 2012, 20:48