0

インデックスに項目があり、各フィールド (text_general) に複数の単語があります。例えば。「ワンツースリーフォー」。

インデックスをクエリする jQuery autosuggest を作成しましたが、応答を得るには text_field から単語の 1 つを入力する必要があります。例えば。"1"。「O」または「On」では結果が得られません。

これは以前は同じ設定で機能していたので、なぜ機能しなくなったのかわかりません。私が実際に変更したのは、インデックスを作成したデータだけであり、data-config.xml に 1 つではなく 2 つのエンティティが含まれるようになりました。

いくつかのフィールドをフィールドにコピーしました:

<field name="test" type="text_general" indexed="true" stored="false" multiValued="true">

(さらに下を参照)

multiValue で遊んでみましたが、問題はないようです。何を見るべきか提案はありますか?

Solr 4.4 です。

データ構成.xml

<entity name="product" dataSource="sqlServer" pk="ProductID" query="SELECT 
    ProductID,
    ProductNumber,
    ProductName,
    ProductShortDescription,
    ProductLongDescription,
    ProductPrice,
    ProductFeatures,
    ProductSymbols,
    ProductApplications
    FROM EcomProducts">

    <field column="ProductID" name="Id"/> 
    <field column="ProductNumber" name="ProductNumber"/> 
    <field column="ProductName" name="Name"/>           
    <field column="ProductShortDescription" name="ProductShortDescription"/> 
    <field column="ProductLongDescription" name="ProductLongDescription"/>  
    <field column="ProductPrice" name="ProductPrice"/> 
    <field column="ProductFeatures" name="ProductFeatures"/> 
    <field column="ProductSymbols" name="ProductSymbols"/> 
    <field column="ProductApplications" name="ProductApplications"/> 
</entity>   

<entity name="tip" dataSource="sqlServer" pk="Id" query="SELECT 
    Id,
    TipsContentHeader,
    TipsContentText,
    TipsPageId
    FROM ItemType_TipsFifContent">

    <field column="Id" name="Id"/>
    <field column="TipsContentHeader" name="Name"/>
    <field column="TipsContentText" name="TipsContentText"/>
    <field column="TipsPageId" name="TipsPageId"/>
</entity>   

schema.xml

 <field name="Id" type="text_general" indexed="true" stored="true" required="true" />
 <field name="Name" type="text_general" indexed="true" stored="true" required="false" multiValued="false" />  

 <field name="TipsContentText" type="text_general" indexed="true" stored="true" required="false" multiValued="false" /> 
 <field name="TipsPageId" type="text_general" indexed="true" stored="true" required="false" />  

 <field name="ProductNumber" type="text_general" indexed="true" stored="true" required="false" /> 
 <field name="ProductShortDescription" type="text_general" indexed="true" stored="true" required="false" multiValued="false" />
 <field name="ProductLongDescription" type="text_general" indexed="true" stored="true" required="false" multiValued="false" /> 
 <field name="ProductPrice" type="float" indexed="true" stored="true" required="false" />
 <field name="ProductFeatures" type="text_general" indexed="true" stored="true" required="false" />
 <field name="ProductSymbols" type="text_general" indexed="true" stored="true" required="false" />
 <field name="ProductApplications" type="text_general" indexed="true" stored="true" required="false" />


  <field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>

<copyField source="Name" dest="text"/>
<copyField source="TipsContentText" dest="text"/>
<copyField source="ProductShortDescription" dest="text"/>
<copyField source="ProductLongDescription" dest="text"/>

<defaultSearchField>text</defaultSearchField>
4

2 に答える 2

0

単語全体ではなく文字の一致を見つけるために、N-Grams を使用する必要があります。ここで例を見つけることができます

于 2013-10-03T08:42:00.890 に答える