Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django haystack和solr设置问题(未定义字段文本错误)_Solr_Django Haystack - Fatal编程技术网

django haystack和solr设置问题(未定义字段文本错误)

django haystack和solr设置问题(未定义字段文本错误),solr,django-haystack,Solr,Django Haystack,我是新来Solr的。我一直在遵循网站提供的文档。 我的项目在Django1.4上 我遵循的步骤是: 1.将haystack添加到已安装的应用程序中 2.使用修改后的settings.py HAYSTACK_SITECONF = 'directory.search_sites' HAYSTACK_SEARCH_ENGINE = 'solr' HAYSTACK_SOLR_URL = 'http://127.0.0.1:8983/solr' HAYSTACK_CONNECTIONS = { '

我是新来Solr的。我一直在遵循网站提供的文档。 我的项目在Django1.4上

我遵循的步骤是:

1.将haystack添加到已安装的应用程序中

2.使用修改后的settings.py

HAYSTACK_SITECONF = 'directory.search_sites'
HAYSTACK_SEARCH_ENGINE = 'solr'
HAYSTACK_SOLR_URL = 'http://127.0.0.1:8983/solr'
HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
        'URL': 'http://127.0.0.1:8983/solr'
        # ...or for multicore...
        # 'URL': 'http://127.0.0.1:8983/solr/mysite',
        },
}
3.我的搜索索引.py文件

from haystack import indexes
from app.models import SellerItem


class SellerItemIndex(indexes.SearchIndex):
    text = indexes.CharField(document=True, use_template=True)
    title = indexes.CharField(model_attr='title')
    sub_title = indexes.CharField(model_attr='sub_title')
    description = indexes.CharField(model_attr='description')

    def get_model(self):
        return SellerItem

    def index_queryset(self):
        """Used when the entire index for model is updated."""
        return self.get_model().objects.filter(pk__gt=0)
4.添加搜索_sites.py

import haystack
haystack.autodiscover()
5.添加模板/search/index/selleritem.txt

{{ object.title }}
{{ object.sub_title }}
{{ object.description }}
6.将此添加到URL.py:

(r'^search/', include('haystack.urls')),
7.创建搜索模板

8.使用以下命令将apache-solr-3.6.0/example/solr/conf中的schema.xml替换为生成的xml:

python manage.py build_solr_schema
当我启动solr服务器时,出现如下错误:

SEVERE: org.apache.solr.common.SolrException: undefined field text
at org.apache.solr.schema.IndexSchema.getDynamicFieldType(IndexSchema.java:1330)
at org.apache.solr.schema.IndexSchema$SolrQueryAnalyzer.getAnalyzer(IndexSchema.java:408)
at org.apache.solr.schema.IndexSchema$SolrIndexAnalyzer.reusableTokenStream(IndexSchema.java:383)
at org.apache.lucene.queryParser.QueryParser.getFieldQuery(QueryParser.java:574)
at org.apache.solr.search.SolrQueryParser.getFieldQuery(SolrQueryParser.java:206)
at org.apache.lucene.queryParser.QueryParser.Term(QueryParser.java:1429)
at org.apache.lucene.queryParser.QueryParser.Clause(QueryParser.java:1317)
at org.apache.lucene.queryParser.QueryParser.Query(QueryParser.java:1245)
at org.apache.lucene.queryParser.QueryParser.TopLevelQuery(QueryParser.java:1234)
at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:206)
at org.apache.solr.search.LuceneQParser.parse(LuceneQParserPlugin.java:79)
at org.apache.solr.search.QParser.getQuery(QParser.java:143)
at org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:105)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:165)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)
at org.apache.solr.core.QuerySenderListener.newSearcher(QuerySenderListener.java:59)
at org.apache.solr.core.SolrCore$3.call(SolrCore.java:1182)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
服务器仍将启动 当我执行./manage.py重建索引并进行搜索时,我会得到一个错误日志

Problem accessing /solr/select/. Reason:undefined field text
我错过了什么?以前有人有过同样的问题吗


谢谢

我认为您的问题源于命名错误的模板。您使用的是
search/index/selleritem.txt
,但它应该是
search/index/app/selleritem\u text.txt

作为旁注,我看到您混合了Haystack1.X和2.X设置和方法。由于在
SellerItemIndex
search index类中缺少
index.Indexable
混合索引,似乎您实际上必须使用1.X。如果你坚持使用你正在使用的版本的文档,你的生活会更简单

希望有帮助


非常感谢@Benspauding!!!!。我不知道我一直在看错误的文件