我在我的索引中列出了每个字段(text_general)中有几个单词的项目。例如。 “一到三个”。Solr,必须输入整个单词
我已经做了一个jQuery autosuggest查询我的索引,但我需要从我的text_field键入一个单词来获得回应。例如。 “一”。 “O”或“On”不会给我一个结果。
这已经在以前使用相同的设置,所以我不明白为什么它不再。我唯一真正改变的是我编入索引的数据,现在我的data-config.xml中有两个实体,而不是一个。
我抄几个领域的申请:
<field name="test" type="text_general" indexed="true" stored="false" multiValued="true">
(见下文)
我已经与多值发挥各地,但它似乎并没有成为问题。任何建议要看什么?
它是Solr 4.4。
数据-config.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>
什么是发送到solr的查询? –
你可以粘贴“text_general”的fieldType定义吗? – Aeham
我的猜测是'text_general'有一个按单词索引的'WhiteSpaceFilter',但你正在寻找'NGram'过滤器? –