Ich habe gerade Solr installiert, die schema.xml
und versuche nun, sie zu indizieren und mit einigen Testdaten zu durchsuchen.
In der XML-Datei, die ich an Solr sende, sieht eines meiner Felder wie folgt aus:
<field name="PageContent"><![CDATA[<p>some text in a paragrah tag</p>]]></field>
Das ist HTML, also habe ich es in CDATA verpackt.
In meinem Solr schema.xml
sieht die Definition für dieses Feld wie folgt aus:
<field name="PageContent" type="text" indexed="true" stored="true"/>
Als ich das POSTing-Tool ausgeführt habe, ging alles gut, aber wenn ich nach Inhalten suche, von denen ich weiß, dass sie innerhalb der PageContent
Feld, erhalte ich keine Ergebnisse.
Wenn ich jedoch die Option <defaultSearchField>
Knoten zu PageContent
funktioniert es. Aber wenn ich es auf ein anderes Feld setze, sucht es nicht in PageContent
.
Mache ich etwas falsch? Was ist das Problem?
Um den Fehler zu klären:
Ich habe ein "Dokument" mit den folgenden Daten hochgeladen:
<field name="PageID">928</field>
<field name="PageName">some name</field>
<field name="PageContent"><![CDATA[<p>html content</p>]]></field>
In meinem Schema habe ich die Felder als solche definiert:
<field name="PageID" type="integer" indexed="true" stored="true" required="true"/>
<field name="PageName" type="text" indexed="true" stored="true"/>
<field name="PageContent" type="text" indexed="true" stored="true"/>
Und:
<uniqueKey>PageID</uniqueKey>
<defaultSearchField>PageName</defaultSearchField>
Wenn ich nun das Solr-Admin-Tool verwende und nach " some name
" Ich erhalte ein Ergebnis. Aber, wenn ich nach " html content
", " html
", " content
" oder " 928
", ich erhalte keine Ergebnisse
Warum?