gpt4 book ai didi

php - 使用 Zend_Search_Lucene 搜索数字

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:37:21 27 4
gpt4 key购买 nike

那么为什么下面的第一个搜索示例没有返回任何结果?非常感谢任何有关如何修改以下代码以使数字搜索成为可能的想法。

创建索引

$index = new Zend_Search_Lucene('/myindex', true);
$doc->addField(Zend_Search_Lucene_Field::Text('ssn', '123-12-1234'));
$doc->addField(Zend_Search_Lucene_Field::Text('cats', 'Fluffy'));
$index->addDocument($doc);
$index->commit();

搜索 - 无结果

$index = new Zend_Search_Lucene('/myindex', true);
$results = $index->find('123-12-1234');

搜索 - 有结果

$index = new Zend_Search_Lucene('/myindex', true);
$results = $index->find('Fluffy');

最佳答案

首先你需要改变你的文本分析器来包含数字

Zend_Search_Lucene_Analysis_Analyzer::setDefault( new Zend_Search_Lucene_Analysis_Analyzer_Common_TextNum() );

然后对于带有数字的字段,您要使用 Zend_Search_Lucene_Field::Keyword 而不是 Zend_Search_Lucene_Field::Text这将跳过 token 的创建并将值“按原样”保存到索引中。然后你可以通过它搜索。我不知道它如何处理 float (可能不适用于 float 3.0 不会匹配 3)但对于自然数(如 ids )就像一个魅力。

关于php - 使用 Zend_Search_Lucene 搜索数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/547180/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com