数据类型
Title:stringKeywords:stringDescription:字符串
搜索要求:
所有搜索词必须在标题或关键字或描述中找到--不要在整个文档中搜索术语…但是,搜索几个字段以找到匹配的术语。所有字段都不需要包含所有搜索词,但所有搜索词都必须找到found EG:搜索“烤蛋糕”应该匹配:标题包含“蛋糕”,描述包含“烤蛋糕”,因此这两个词都是
- Because atlas search grammar did not allow us to do that, we created a concat field: title + keywords into a NE
我想找到确切的短语结果在身体或标题的任何地方寻找。它必须从最近的到最古老的。我得到非常接近结果的唯一方法是通过这个钩子强制引用我所有的搜索:
/**
* Implements hook_apachesolr_query().
*/
function hcp_node_apachesolr_query_prepare($query) {
// Adding quotes to all searches so it gives an accurate search result
$search_result = $query->getParam('q');
例如,我们有字段1到10,我想索引Azure搜索中的所有字段,这样您就可以过滤,搜索那些过滤器。
我的问题是,是否有一种方法可以从特定的ID中排除空字段,而不是将它们存储在Azure搜索中?看下面的例子。
数据本身最初存储在Azure数据库中。在Azure Cosmos DB中,它希望这样:
Id 1
字段1: a
字段2: B
领域5: C
领域6: d
字段8: e
Id 2
领域3: a
字段2: B
领域5: C
领域9: d
字段10: e
然而,在Azure搜索索引中,如下所示:
Id 1
字段1:a
我试图根据查找表来标记我的数据。查找表有以下字段:
·键--表示我要标记的数据中的字段名。在实际数据中,字段是“Header”字段的子字段。“Key”字段的示例:“Server”。(*是通配符)
值--表示上述字段的想要的值。查找表中的值只是实际数据值中字符串的一部分。“Value”字段的一个示例:“Avtech”。
·Vendor- -如果在文档中找到字段值的组合,那么我想要添加到实际数据中的值。
在实际数据中组合的示例:“Headers.Server:Linux/2.xUPnP/1.0AVTECH/1.0”
A match with that document in the look up